2016-02-14 78 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並將屬性字符串設置爲標籤。