UITextView归因于对齐和大小

时间:2015-12-28 20:28:22

标签: ios swift nsattributedstring

首先假设数学是正确的。

let textViewText = NSMutableAttributedString(string: "34\n+ 10\n+ 32344\n= 23424")

我使用Textview显示来自用户的输入。为了便于阅读,我试图获得像这样的文本格式

      34 
 +    10 
 + 32344 
 = 23424 

我遇到的另一个问题是包装。有没有办法调整每一行的大小以适应它的线?

      34 
 = 23424
4356356 

2 个答案:

答案 0 :(得分:1)

您的文字是动态的还是静态的?如果是静态的,那么您需要做的就是在数字和加号之间加上正确的间距,然后右对齐文本。

self.textView.attributedText = NSMutableAttributedString(string: "34\n+      10\n+ 32344\n= 23424")
self.textView.textAlignment = NSTextAlignment.Right

结果:

RESULT

答案 1 :(得分:1)

您可以通过在段落样式中使用右对齐制表位,并使用制表符分隔运算符和值来实现此目的。

let string = "\t34\n+\t10\n+\t32344\n=\t23424"

let paragraph = NSMutableParagraphStyle()
paragraph.tabStops = [NSTextTab(textAlignment: .Right, location: 200, options: [:])]

let attributedString = NSAttributedString(string: string, attributes:[NSParagraphStyleAttributeName: paragraph])