TextBox在堆栈视图Xcode中延伸

时间:2017-06-04 23:13:09

标签: swift xcode user-interface autolayout ios-autolayout

我在另一个堆栈中有3个堆栈,文本框拉得太多了。我试图将高强度约束添加到TextBox,但它以红色突出显示,TextBox不缩小(附加截图)。有人可以推荐一个解决方案吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

看起来你想要布置一个有三行的表格。这三行的内容不足以垂直填充屏幕,因此您需要确定多余空间的位置,并且需要设置约束以将多余的空间放在那里。

假设您希望行垂直居中。然后,您需要将垂直堆栈视图的Y中心约束到根视图的Y中心。不要对垂直堆栈视图的高度或其顶部或底部施加任何其他约束。让它不受约束,让它自己调整大小以完全适合其排列的子视图,而无需拉伸或压缩它们。

您的标签和视图也会出现不均匀的水平拉伸。要解决此问题,请将所有标签约束为彼此相等的宽度。然后将标签的水平内容拥抱优先级设置为251,将其水平内容压缩优先级设置为750.将文本字段的水平内容拥抱优先级设置为250(仅小于标签')。这告诉水平堆栈视图拉伸文本字段而不是标签,以填充多余的水平空间。

结果:

layout previews

这是我的文件大纲:

document outline