【问题标题】:Aligning 3 buttons with dynamic contents in objective C using Autolayout使用自动布局将 3 个按钮与目标 C 中的动态内容对齐
【发布时间】:2017-01-05 11:20:00
【问题描述】:

我有 3 个按钮,一个在另一个下方。要求是,所有按钮都应该居中对齐。动态内容应该适合这 3 个按钮。请帮我解决这个问题。我对内容拥抱、抗压缩和内在内容大小只有模糊的了解。非常感谢您。

【问题讨论】:

  • 最简单的解决方案是将堆栈视图用于按钮并将堆栈视图设置在中心。对于动态内容集 stackviews heightConstraint 大于等于关系。
  • @Vishal:嗨,Vishal,谢谢您的评论。您能告诉我在 iOS 9 下的实现吗?
  • 会是一样的。只需使用 UIView 而不是 stackView。对所有按钮应用相同的高度和相同的宽度约束,并处理容器 UIView 的高度约束。

标签: ios objective-c autolayout intrinsic-content-size


【解决方案1】:

iOS 9 及更高版本:

使用UIStackView 嵌入所有buttons 并将stack view 设置在view 的中心。对于动态内容,设置stackView's heightConstraint 大于等于relation (>=)。

iOS 8 及更早版本:

只需使用UIView 而不是UIStackView。其余的都是一样的。

【讨论】:

    【解决方案2】:

    UIStackView 中嵌入所有UIBUttons,并根据需要设置stackViews 属性。

    要了解这个想法,请参阅this answer

    注意:UIStackView 仅适用于 iOS >= 9。

    【讨论】:

    • 取决于他需要支持的iOS。 Stackviews 仅在 iOS 9+ 上可用,如果这不是问题,那么是的,最简单的方法是使用 stackview。
    • @Pancho:正确。添加了回答提示。
    • 如果版本是
    • @shallowThought:非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2014-09-23
    • 2014-06-26
    • 2014-12-08
    • 1970-01-01
    • 2016-04-16
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多