首先假设数学是正确的。
let textViewText = NSMutableAttributedString(string: "34\n+ 10\n+ 32344\n= 23424")
我使用Textview显示来自用户的输入。为了便于阅读,我试图获得像这样的文本格式
34 + 10 + 32344 = 23424
我遇到的另一个问题是包装。有没有办法调整每一行的大小以适应它的线?
34 = 23424 4356356
答案 0 :(得分:1)
您的文字是动态的还是静态的?如果是静态的,那么您需要做的就是在数字和加号之间加上正确的间距,然后右对齐文本。
self.textView.attributedText = NSMutableAttributedString(string: "34\n+ 10\n+ 32344\n= 23424")
self.textView.textAlignment = NSTextAlignment.Right
结果:
答案 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])