Xcode 9在堆栈视图中设置0行到14,600.5高度的标签

sha*_*sen 10 xcode ios

在Xcode 9中,我将继续学习AppCoda教程以开始iOS开发.我注意到一些奇怪的行为,我想知道这是一个错误还是我不了解Interface Builder中的堆栈视图(因为应用程序在我的手机上编译并正确显示).

当我放置Label并将其设置为堆栈视图中的第三个元素(两个其他嵌套堆栈视图的兄弟)时,如果使用默认属性,它看起来很好.但是,当我将lines属性从1更改为0时,标签和相邻堆栈视图将从界面构建器中消失.

之前

后

在尺寸检查器中,标签的坐标从0,208.5更改为0,-90.如果我更改这些属性,标签的高度将从0,0变为375,14600.5,并且Xcode会抛出错误:Interface Builder不支持大于10,000 x 10,000的UILabel大小.

这是Xcode的一个错误,还是这个版本的Xcode的行属性有一些改变的行为(该书目前涵盖了Xcode 8).

小智 18

这是一个解决方案.选择标签视图并转到尺寸检查器.在标签首选项下,选中显式大小框.当您将多行标签放入其中时,这可以防止堆栈视图折叠.


Den*_*Lau 5

设置大小检查器>内在大小>占位符,将宽度设置为无,高度设置为30

从描述:设置设计时内在内容大小仅影响在Interface Builder中编辑时的视图.视图在运行时不会具有此内在内容大小.

从Xcode帮助:使用占位符内在大小来指示视图的宽度和高度,并避免设计时间约束模糊.