【发布时间】:2015-03-30 18:52:00
【问题描述】:
我刚开始学习自动布局和 swift。我正在尝试使以下用户界面正常工作。
但是,在 iPhone 4s Simulator 上,添加约束后它看起来像这样(稍后描述)。我已经截取了整个模拟器的截图。
在其他设备上,例如 iPhone 6 plus,它看起来有所不同。我读到您应该添加您认为足以定义对象位置的约束。我添加了这些约束:
UIImageView 的约束
- 图像是“宽高比匹配”。
- 宽度限制。
- 纵横比。
- superview 的前导和顶部空间(我还尝试删除“前导空间”约束,而是添加“容器中的水平中心”约束)
我认为上述约束应该足以定义对象的大小和位置。
UITextField 的约束
- 宽度限制。
- 纵横比。
- 领先空间到superview。
- 垂直间距到
UIImageView。
同样,应该足以定义文本字段的位置。 XCode 似乎不这么认为。如何使这个简单的界面工作?我错过了什么?
编辑
让 XCode 推断约束效果最好。我为两者设置了宽度和纵横比约束。 XCode 推断出其他约束(顶部空间、底部空间和图像视图的水平中心到超级视图以及文本字段相对于图像视图的水平中心)。
我的问题是,您认为我原来的约束有问题吗?如果我能理解这一点,那么我可以继续使用复杂的界面。让 XCode 推断约束并不总是有效。
【问题讨论】:
标签: iphone swift ios8 uiimageview autolayout