alignment左右两边有“\ n”的标签

我有一个这样的文字标签

label.text = "A 34\nB 11\nC 4\nD 3" 

它看起来像这样

 A 34 B 11 C 5 D 3 

有没有一种方法来从左侧和右侧alignment标签,使其看起来像:

 A 34 B 11 C 5 D 3 

`你可以创build一行Class(自定义的UIView),并且每个“column”元素(单独的UILabel)由用于填充它的数据设置。 您可以有一个表类,以便您可以使用最长的string,并调整每列的位置。 这种方法会给你很多的控制,但额外的工作。

或者使用带制表符的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]) 

您可以计算循环中最长的string宽度,以确定headIndent应该是什么。 但是,这不会允许右列如右例所示。 你会得到像这样的东西:

 A 34 B 11 C 5 D 3