【问题标题】:Center an item between two other items in autolayout (iOS)在自动布局中将一个项目居中于其他两个项目之间(iOS)
【发布时间】:2015-09-16 22:32:04
【问题描述】:

我的视图控制器顶部有 5 个项目,我正在尝试使用自动布局将它们均匀分布。对于左侧项目(后退按钮),我添加了一个距离左边框 15px 的约束,对于右侧项目(相机),我添加了一个距离右边框 15px 的约束。然后,我设置中心项目 (0:01) 以对齐中心 x,使其位于中间。最后,我为 ... 和 flash 项目选择了“重置为建议的约束”。

在 iphone 5 和 4 中查看时,它看起来很棒。如您所见,所有项目均分:

到目前为止,一切进展顺利。但是,当我在 iphone6 和 iphone6+ 上进行测试时,“...”和 flash 符号不在

如何在两个相邻项目之间居中?又名,我如何将“...”居中在

任何帮助将不胜感激!

【问题讨论】:

    标签: ios xcode autolayout


    【解决方案1】:

    我想出如何做到这一点的唯一方法是创建一个容器来容纳你想要在两个项目之间居中的东西。该容器应具有相同的尾随和前导数量,然后将您的“事物”放在该容器的中心。

    在下面的示例中,蓝色框代表您的橙色“...”,深灰色框代表刚刚用于居中的容器。一旦布局生效,只需将容器设置为清晰填充即可。

    【讨论】:

    • 太棒了。我会试试看。我希望 Apple 在不久的将来能找到一种更简单的方法来解决这个问题。
    • 查看this question 以获得更通用的解决方案(即间隔n 视图)。
    • 我多次使用这种技术。那么,如果没有容器,是否仍然无法做到这一点?
    • 这种容器做法真的很烦人,你找到其他解决方案了吗?
    【解决方案2】:

    补充一点:如果您使用 UIImageView 作为容器,那么它已经是透明的,因为您没有使用图像填充它。此外,顶部和底部手柄易于定位

    【讨论】:

    • 是的,但我建议将视图用作容器作为标准做法。
    • 我猜我们已经过了 VB6 天。UIView 旨在作为“标准”容器视图; UIImageView 的用途完全不同。
    猜你喜欢
    • 2013-06-24
    • 1970-01-01
    • 2012-09-14
    • 2015-10-26
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    相关资源
    最近更新 更多