最近项目遇到的问题:
UILabel显示文字内容如果是中文+英文,则可能遇到奇怪的换行处理,中文被诡异换行,导致第一行文字显示不完整。
如果设置UILabel或者NSMutableParagraphStyle的lineBreakMode为byCharWrapping,虽然解决了换行问题,但是内容过长的时候又没有省略号了,似乎二者不可兼得。
修复前的样式:
解决方案:使用UITextView来显示内容,当成UILabel来显示。
解决方案转自:UITextView实现中文和英文不换行&省略号展示 - 掘金
添加UITextView:
let textView: UITextView = UITextView()
textView.frame = CGRect(x: ulabel.frame.minX, y: ulabel.frame.maxY + 20.0, width: ulabel.frame.width, height: ulabel.frame.height)
// 内容边距,左边不缩进默认为5的距离
textView.textContain