在下面的故事板上,我在标签和文本字段之间添加了水平间距。但是,当我在屏幕上运行它时,标签上没有显示任何数据。所以我要做的是在Label上添加垂直居中位置。然后就可以了。但是我需要知道为什么标签和文本字段之间的水平间距不足以完美显示模拟器上的布局。
答案 0 :(得分:1)
仅指定水平间距是不够的。如果我仅告诉您水平间距,作为人类,您是否可以在画布上绘制东西?你不会的。
视图的约束必须同时定义该视图的大小和位置。您可以执行许多选择。
例如,要定义标签的宽度,可以为其设置宽度限制,或将其从左右两侧固定到其他视图。
答案 1 :(得分:0)
每个要正确显示的UI元素都需要x,y,宽度和高度约束
当您将带有水平约束的标签约束到文本字段时,您将定义x轴,但是y呢?应该自动布局它的top,bottom,centerY或top的大小为30pts或bottom的大小为20 pts或where,这会使过程变得模糊
自动布局需要准确知道元素的放置位置,因为这些约束将转换为x,y值
X =>前导,尾随,centerX
Y =>顶部,底部,中心Y
Width =>静态(例如30或50)或成比例(例如屏幕宽度的一半)
Height =>静态(例如30或50)或标准(例如屏幕高度的一半)
对于UILabel
/ UIButton
来说,设置宽度和高度是可选的,因为它们两者都有一个固有的内容大小,这意味着它们将根据为其设置的文本调整大小。