2017-04-19 43 views
0

什么内容我有我的看法三个标签:定位相对于其他

enter image description here

第一个标签是一种描述和文本将从API中获取它的长度变化。

第一个问题是如何让描述标签自动调整其高度?

第二个问题是我怎么做相对移动的标签1描述标签的高度,并标注2相对于标签1.

+0

你在使用autolayout吗? –

+0

其实不是,因为我只是学习,只是谷歌搜索Autolayout,它似乎正是我想要的。谢谢 – tommyd456

回答

1

您更改的行数为0,断线模式字包装成任意高的标签。将所有三个标签嵌入到垂直堆栈视图中,并在堆栈视图中设置间距以等间隔分布它们。将堆栈视图限制为视图的顶部,前部和后部边缘。你不需要给它一个高度,因为它会从标签和间距中得出它的固有高度。

+0

还没有听说过堆栈视图,所以现在就试试看吧 – tommyd456

+0

这真的是很好的答案,但请记住,它将适用于iOS 9+,如果您的项目目标低于iOS 9,它将无法正常工作。 – Sattar

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() 

注意:你m ight想要为y坐标添加一些填充,否则它将直接从描述标签结束的位置开始。

0

你可以在不写一行代码的情况下做所有你想做的事情。

要回答你的第一个问题:对于描述标签设置的行数为0;

要回答你的第二个问题您可以使用自动布局3个简单步骤去做:

A)说明标签:设置约束:TOP至上海华盈,导致空间的SuperView,尾随空间,上海华,底部空间为标签1

B)标签1:领先空间超级查看,尾随空间超级查看,底部空间到标签2

C)标签2:领先的空间超级查看,尾随空间超级查看。

自动布局将根据内容调整和移动欲望元素。

+0

将线条设置为0不会自动调整高度,只会允许更多线条并将椭圆(...)加到最后(如果它太小而不适合)。 – torinpitchers

+0

@torinpitchers也许你是对的,但它会完成这项工作。实际上,当您将自动布局和行数设置为0时,您无需设置大小以适合其大小。 – Sattar

相关问题