在旋转时水平扩展多个UITextField(通过自动布局)

时间:2014-04-12 02:49:45

标签: ios uitableview uitextfield autolayout nslayoutconstraint

我目前在UITextField中有三个UITableViewCell

enter image description here

(忽略橙色背景,这样我才能看到每个UITextField的界限。)

每个文本字段之间有1px UIView,以提供可视分隔符。

使用autolayout,我想设置约束,以便所有三个文本字段水平扩展/增长以响应设备旋转到横向。我已成功设置约束,以便文本字段(和分隔符视图)相对于彼此定位:

enter image description here

然而,这似乎不足以让autolayout意识到它需要调整所有文本字段的大小以补偿设备旋转到横向时增加的水平空间。以下是出现的冲突:

enter image description here

设置水平拥抱优先级并不能解决问题,因为每个字段都需要一个唯一的优先级,导致只有扩展最低的字段,而不是所有字段。

同样,如果我固定两个文本字段的宽度,那么它工作正常,但只有一个字段(即具有未固定宽度的字段)将会扩展。

所以我添加的其他约束似乎很好,但我只是不知道如何指示autolayout扩展所有三个文本字段相同。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

以下是我建议让文本字段在水平方向上均匀扩展的内容:

将所有三个文本字段连接为Interface Builder中的“Equal Widths”。然后,将单元格边,文本字段边框和分隔符之间的水平间距固定为常量。最后,您可能需要将中间文本字段设置为水平居中。

这是一个测试示例:

enter image description here