1
我有一個標籤,像這樣對齊的標籤有「 n」
label.text = "A 34\nB 11\nC 4\nD 3"
文字它看起來像這樣
A 34
B 11
C 5
D 3
有沒有辦法對齊標籤從左到右,因此它看起來像:
A 34
B 11
C 5
D 3
我有一個標籤,像這樣對齊的標籤有「 n」
label.text = "A 34\nB 11\nC 4\nD 3"
文字它看起來像這樣
A 34
B 11
C 5
D 3
有沒有辦法對齊標籤從左到右,因此它看起來像:
A 34
B 11
C 5
D 3
`你可以馬ke行類(自定義UIView)並且每個「列」元素(單獨的UILabel)由用於填充它的數據設置。然後您可以有一個表類,以便您可以使用最長的字符串並調整每列的位置。這種方法會給你很多控制權,但額外的工作。
或者使用帶製表位的NSAttributedString。
let myText = "A\t34\nB\t11\nC\t5\nD\t3"
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.tabStops = [NSTextTab(textAlignment: NSTextAlignment.Left, location: 150, options: [:])]
paragraphStyle.headIndent = 150
label.attributedText = NSAttributedString(string: text, attributes:[NSParagraphStyleAttributeName: paragraphStyle])
您可以在一個循環計算最長的字符串寬度來確定headIndent
應該是什麼。但是,這不允許右列如右例所示。你會得到這樣的東西:
A 34
B 11
C 5
D 3
怎麼樣使用'\ t'? –
NSAttributedString似乎能夠做到這一點。 – Larme
我從數據庫中獲取我的文本,所以它是動態的,我如何知道正確的空間添加? – OuSS