我的观点中有三个标签:
第一个标签是一个描述,因为文本将从API获取,它的长度会有所不同。
第一个问题是如何让描述标签自动调整其高度?
第二个问题是如何使标签1相对于描述标签的高度移动,并且相对于标签1标记2。
答案 0 :(得分:1)
您将行数更改为0,将换行模式更改为自动换行以使标签任意高。您将所有三个标签嵌入到垂直堆栈视图中,并在堆栈视图中设置间距以使它们以相等的间距分布。将堆栈视图限制在视图的顶部,前端和后端。您不需要给它一个高度,因为它将从标签加上间距得出其固有高度。
答案 1 :(得分:1)
你一定要看一下autolayout: https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/
答案 2 :(得分:0)
如何自动调整身高
descriptionLabel.sizeToFit()
如何根据其他标签自动调整高度
label.frame = CGFrame(x: decriptionLabel.frame.origin.x, y: descriptionLabel.frame.origin.y + descriptionLabel.frame.size.height, width: descriptionLabel.width, height:0)
label.sizeToFit()
注意:您可能需要在y坐标中添加一些填充,否则它将从描述标签结束的位置开始。
答案 3 :(得分:0)
您无需编写任何代码即可完成所有操作。
回答您的第一个问题:对于描述标签,将行数设置为0;
回答第二个问题您可以使用自动布局执行3个简单步骤:
A)描述标签:将约束设置为:TOP到superview,前导空间到superview,尾随空间到superview,底部空间到标签1 。
B)标签1:前导空间到superview,尾随空间到superview,底部空间到标签2 。
C)标签2:引导空间到superview,尾随空间到superview。
自动布局将根据内容调整和移动欲望元素。