2016-02-14 71 views
0

我在我看来,这样的enter image description here我怎么能伸展多个标签在同一直线上

这是在蓝色标签是动态的,它们的值来自数据库中有4种不同的labels。所以我想做一些事情,比如说有什么国家的人物比这个'伦敦'更大,那么它应该伸展自己的位置以适应该地区,他们面前的文字或标签也应该根据向后的标签,也如果以某种方式行结束,然后移动到第二行,如果可能的话。我在TableView单元格中执行此操作。我用sizeToFit属性,但它不给我需要的结果。

+0

使它成为一个'UILabel'并使用'NSAttributedString' – Rajat

回答

1

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

1

要做到这一点,最好的方法是制作一个横跨屏幕的标签,并将lines值设置为0,如果文本太长而无法放在一行上,则会将其换到第二行。然后,而不是在单独的标签的4个值可以是一个标签的文本设置为这样的事情:

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

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

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

0

更好地使用,一个标签与合并的NSString并将属性字符串设置为标签。