在Interface Builder / Storyboards中使用自动布局来创建网格类型布局

时间:2014-12-14 20:38:09

标签: ios xcode swift interface-builder uistoryboard

我正在尝试使用Interface Builder / Storyboards创建网格类型布局。我使用UIImageView作为背景图片,并将UIButtons放在我想要交互的图像区域上。无论我尝试什么限制,我似乎无法将按钮带到适当的位置。我附加了Xcode 6的屏幕截图,并提供了GitHub项目的链接。非常感谢能够提供一些见解的任何人。

修改

在从评论中获取Matt的建议后,我使用图像作为实际按钮创建了一个布局。它工作得很好,但我似乎可以让按钮正确地约束对方。我附上了一些我现在得到的图片。如果有人知道发生什么事情会很棒!此外,GitHub存储库也已更新。

作为一个说明,我故意将黑色条留在底部。

查看我在iPhone 4 / 4s上看到的内容

2 个答案:

答案 0 :(得分:1)

请查看共享的XIB。

你可以通过与superview宽度或高度约束成比例来实现它,+ - 填充常量。

https://dl.dropboxusercontent.com/u/48223929/AutolayoutExampleView.xib enter image description here

答案 1 :(得分:1)

遵循水平+垂直边缘到边缘定义原则

  1. 每个对象必须具有边对边约束。即你必须能够为任何对象虚拟绘制一系列约束来定义它的边缘。
  2. 规则#1必须横向尊重&垂直
  3. 作为示例,假设您不希望按钮调整大小:

    • 为每个按钮选择固有宽度
    • 将最左侧按钮的最左边距对齐到容器
    • 为每个按钮添加一个水平间距约束到左边的那个
    • 将最右边按钮的最右边距分配给容器
    • 选择适当的优先级

    垂直重复。