【问题标题】:iOS Storyboard Layout - Constraint QueryiOS 故事板布局 - 约束查询
【发布时间】:2014-12-25 11:05:14
【问题描述】:

我一直在玩 Xcode 中的通用设计,实际上非常喜欢它。

在玩的时候,我似乎不知道如何在某些项目之间获得相等的间距。

在上图中,我希望 3 x 红色条在浅蓝色视图内等距分布。

我能做的最好的是将中间的红色条设置在浅蓝色视图的中心,然后固定其他红色条之间的距离。

还有其他方法可以将它们分开吗?

例如,当您有一个 UIToolbar 时,您可以将所有项目放在工具栏中,然后使用灵活的空间来平均分配项目。

希望这是有道理的。

【问题讨论】:

    标签: ios xcode layout storyboard universal


    【解决方案1】:

    您可以执行以下操作:将第一个栏放在中心,然后让两个清晰的 UIView 填充中间栏顶部和下方的空间。然后顶部和底部栏可以以那些清晰的 UIView 为中心(在容器中垂直居中)。

    您还可以执行与您需要使用工具栏执行的操作非常相似的操作。即在您关心的三个条之间和外部放置 5 个清晰的视图,然后将它们设置为相等的高度。这将强制三个条均匀分布。

    【讨论】:

    • 感谢您的回复。好的,所以似乎需要一点“跳出框框”的思考。好主意,我可以看到它的工作。
    【解决方案2】:

    我认为你应该定义一个方法,在这个方法中检查浅蓝色视图的高度,并更新三个红色视图的约束,然后调用 self.view 的 setNeedLayout 和 layoutIfNeeded。

    然后调用你控制器的viewDidLayoutSubViews中的方法,应该通过 performSelector: withObject: afterDelay: 方法,延迟可以为0。

    希望这会有所帮助。

    【讨论】:

    • 也感谢您抽出宝贵时间回复。我试图将其仅保留在 Interface Builder 中,但我也可以看到您的解决方案也可以正常工作。
    猜你喜欢
    • 2018-04-15
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 2018-09-11
    • 2017-06-07
    相关资源
    最近更新 更多