如何在UITextView中居中对齐文本?
我在textView中有一个阿拉伯语(从右到左)的文本,当我设置myTextView.alignment = .justify
时,文本中的最后一行会进入左侧。我如何设置textView的中心对齐或如何将最后一行移动到中心?如何在UITextView中居中对齐文本?
只是使它.center 我知道你在寻找什么,因为我以前去过那里,只是你可以把它.center
有趣的问题,我会尝试以统计线TextView的切最后一个比我会尝试把切文本在新标签中的TextView ...下面;)
询问后,我会怎么做这个我加了这一点:
print(self.testLabel.frame.width)
self.testLabel.text = "Hello World"
self.testLabel.sizeToFit()
print(self.testLabel.frame.width)
这是您可以使用的起点。创建一个标签并将宽度设置为零。插入你的文本并设置sizeToFit()。现在您可以获得标签的长度。是否需要长时间观看才会有更多的线条...(分频器是您的长度 - 未经测试,可能还需要偏移)
只要您的线条多于一个和你的计算开始时的行数是相同的,以得到最后一个单词并将它放在一个临时字符串的开头。 如果这返回你得到你的最后一行的子字符串。
我很感兴趣,并开始与这一个:
@IBOutlet weak var textBox: UITextView!
@IBOutlet weak var testLabel: UILabel!
override func viewWillAppear(_ animated: Bool) {
print(self.testLabel.frame.width)
self.testLabel.text = self.textBox.text
self.testLabel.sizeToFit()
print("total \(self.testLabel.frame.width)")
let basicAmount = Int(self.testLabel.frame.width/self.textBox.frame.width) + 1
print("lines \(basicAmount)")
var lastLine: String = ""
while basicAmount == Int(self.testLabel.frame.width/self.textBox.frame.width) + 1 {
var arr = self.textBox.text.components(separatedBy: " ")
lastLine = "\(arr.last) \(lastLine)"
arr.removeLast()
self.textBox.text = arr.joined(separator: " ")
self.testLabel.text = self.textBox.text
self.testLabel.sizeToFit()
print(lastLine)
}
}
有趣的输出是:
total 1499.5
lines 7
Optional("civiuda.")
当然,你应该在因为计算花费了更多的时间在行尾有空余空间...
你现在怎么能在代码中做到这一点? :) –
用这个来计算行数(最后是swift3):https://stackoverflow.com/questions/5837348/counting-the-number-of-lines-in-a-uitextview-lines-wrapped-by - 框架大小 – John
,只是返回最后一个字不是最后一行:( –
不能使用中心和d证明一起? –
不,你不能,否则开发人员将被允许同时使用.right和.left –