我在垂直居中UITextView
文字时遇到了不好的时间。当我按Enter
或当文本不适合单行并转到下一行时,文本不会保持垂直对齐,直到我按下另一个键。
以下是图片: 这个工作正常,
这个错误,
这个再次运作,
这是我的代码运行:
func textViewDidChange(textView: UITextView) {
messageTextViewHeightConstraint.constant = messageTextView.contentSize.height
sendBarHeightConstraint.constant = messageTextView.contentSize.height + 11
secondBarHeightConstraint.constant = messageTextView.contentSize.height
alignTextVerticalInTextView(messageTextField)
self.view.layoutIfNeeded()
}
func alignTextVerticalInTextView(textView :UITextView) {
let size = textView.sizeThatFits(CGSizeMake(CGRectGetWidth(textView.bounds), CGFloat(MAXFLOAT)))
var topoffset = (textView.bounds.size.height - size.height * textView.zoomScale) / 2.0
topoffset = topoffset < 0.0 ? 0.0 : topoffset
textView.contentOffset = CGPointMake(0, -topoffset)
}
我似乎无法找到新线路键的任何修复,这似乎会重置UITextView
文字的行为,直到我按下一个键。
任何帮助将不胜感激
编辑:我解决了我的问题!