使用自动布局将 3 个按钮与目标 C 中的动态内容对齐
Posted
技术标签:
【中文标题】使用自动布局将 3 个按钮与目标 C 中的动态内容对齐【英文标题】:Aligning 3 buttons with dynamic contents in objective C using Autolayout 【发布时间】:2017-01-05 11:20:00 【问题描述】:我有 3 个按钮,一个在另一个下方。要求是,所有按钮都应该居中对齐。动态内容应该适合这 3 个按钮。请帮我解决这个问题。我对内容拥抱、抗压缩和内在内容大小只有模糊的了解。非常感谢您。
【问题讨论】:
最简单的解决方案是将堆栈视图用于按钮并将堆栈视图设置在中心。对于动态内容集 stackviews heightConstraint 大于等于关系。 @Vishal:嗨,Vishal,谢谢您的评论。您能告诉我在 ios 9 下的实现吗? 会是一样的。只需使用 UIView 而不是 stackView。对所有按钮应用相同的高度和相同的宽度约束,并处理容器 UIView 的高度约束。 【参考方案1】:iOS 9
及更高版本:
使用UIStackView
嵌入所有buttons
并将stack view
设置在view
的中心。对于动态内容,设置stackView's
heightConstraint
大于等于relation
(>=)。
iOS 8
及更早版本:
只需使用UIView
而不是UIStackView
。其余的都是一样的。
【讨论】:
【参考方案2】:在UIStackView
中嵌入所有UIBUtton
s,并根据需要设置stackViews 属性。
要了解这个想法,请参阅this answer。
注意:UIStackView
仅适用于 iOS >= 9。
【讨论】:
取决于他需要支持的iOS。 Stackviews 仅在 iOS 9+ 上可用,如果这不是问题,那么是的,最简单的方法是使用 stackview。 @Pancho:正确。添加了回答提示。 如果版本是 @shallowThought:非常感谢您的帮助。以上是关于使用自动布局将 3 个按钮与目标 C 中的动态内容对齐的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView 动态内容中的自动布局,底部有 UIButton
使用自动布局创建带有文本和图像的 iOS 7 UIButton