【问题标题】:Resize views relative to each other Xcode 6相对于彼此调整视图大小 Xcode 6
【发布时间】:2015-08-04 00:24:14
【问题描述】:

我正在使用 Xcode 6 和自动布局构建一个新应用。我才刚刚开始使用自动布局,这可能是一个非常容易解决的问题,但我一直在绕圈子试图找到正确的方法。

我有一个如下所示的视图(没有代表发布图片,所以使用了链接)

http://files.parsetfss.com/48d8d860-e1c2-4671-ac59-03f46eee316b/tfss-23f6bdb8-3e5b-4ce0-b7ed-b1daf0006f33-Screen%20Shot%202015-05-22%20at%202.56.03%20pm.png

我在红色框上设置了约束,以保持其左、右和底部与超级视图的距离相同,而另一个则始终保持其高度相同。然后我对黑色和绿色框设置约束,使其顶部和外侧边缘与超级视图的距离相同,底部边缘与红色框的距离相同。

目的是红色框保持相同的高度并随着设备大小和方向改变宽度,绿色和黑色改变高度和宽度以分别填充屏幕其余部分的一半并在中间相遇。

现在我设置了约束以保持黑色和绿色彼此之间的距离相同,它可以按我的意愿工作,但是我收到警告说黑色和绿色框的位置和宽度不明确。

我想出摆脱警告的唯一方法是放置一个限制在屏幕中心的标签(alpha 设置为 0,因此无法看到),然后设置黑色和绿色框的包含基于标签。这可行且无警告,但我确信这不是解决此问题的最佳方法。

所以问题是我如何做到这一点而不会出现错误并且不会放置不必要的隐藏标签。

【问题讨论】:

    标签: ios xcode storyboard autolayout interface-builder


    【解决方案1】:

    由于底部的视图具有固定的高度...您只需固定所有视图的所有边缘,并且只需要为黑色和绿色视图提供相等的宽度约束...就像下图一样... .

    以及不同屏幕的输出...

    【讨论】:

    • 我知道这很简单!非常感谢。
    • 很想投票,但我还没有 15 个代表 :-(
    • 好的...没问题..愉快的编码
    【解决方案2】:

    您需要为黑色和绿色框设置“等宽”约束。选中这两个框,然后从画布底部的图钉图标中选择“等宽”。

    【讨论】:

      【解决方案3】:

      根据您的要求


      1 次查看黑色:


      2 次查看绿色:

      3 视图红色:

      点击这些链接AutolayoutAutolayout programatically

      这可能对你有帮助:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-19
        • 2016-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多