默认的textView 在输入长英文字符串后,再次进入该页面会出现排版错误问题
先上效果图.
其实你在输入的时候是下面这样的
之所以会出现图1的情况是因为他将“xjhdhdhdhdhd......”这个字符串视为了一个“单词“, textView默认的排版是第一行文本容纳不下这个字符串的时候,自动换位第二行.也就是图一效果。那么问题来了,怎么样能让textView显示原有的图2效果呢? 直接上代码:
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];
paragraphStyle.lineBreakMode = NSLineBreakByCharWrapping;
NSDictionary *attributes = @{NSParagraphStyleAttributeName:paragraphStyle};
_contentTextView.attributedText = [[NSAttributedString alloc]initWithString:_contentTextView.text attributes:attributes];
对应的Swift代码:
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineBreakMode = NSLineBreakMode.ByCharWrapping;
let attributes = [NSParagraphStyleAttributeName:para]
_contentTextView.attributedText = NSAttributedString.init(string: _contentTextView.text, attributes: attributes)
在textView在初始化的时候就设置好lineBreakMode就可以了。
如有问题,欢迎留言。