如何在同一行中拉伸多个标签

时间:2016-02-14 08:24:34

标签: ios swift uilabel

我的视图中有4个不同的labels,如enter image description here

蓝色标签是动态的,它们的值来自数据库。所以我想要做一些事情,比如如果有任何一个国家的角色比那个'伦敦,那么'那么它应该伸展他的位置以适应该区域,并且他们面前的文字或标签也应该改变他们的位置根据向后标签以及如果以某种方式行结束,则移动到第二行,如果可能的话。我在TableView单元格中执行此操作。我使用了sizeToFit属性,但它没有给我所需的结果。

3 个答案:

答案 0 :(得分:1)

我有比使用多个标签更好的解决方案。您可以使用单个标签并将属性字符串设置为标签。您可以根据需要为字符串赋予任何属性。要将特定颜色设置为perticula字,您可以将color属性设置为该字符串。

答案 1 :(得分:1)

执行此操作的最佳方法是制作一个跨越屏幕的标签,并将lines值设置为0,如果文本太长而无法容纳,则会将其换行到第二行在一条线上。然后,您可以将该标签的文本设置为以下内容,而不是将4个值放在单独的标签中:

let labelText = "From \(self.departureCity) To \(self.arrivalCity)"

其中“self.departureCity”和“self.arrivalCity”是数据库搜索的值。

这种方法的唯一问题是,如果你真的希望城市价值是蓝色的,就像你在你的例子中那样 - 如果这是你真正想要的,你将不得不混淆attributedText属性。 / p>

答案 2 :(得分:0)

最好使用,带有合并的NSString的单个标签,并将属性字符串设置为标签。