背景:
意见反馈页面有一行提示文字,包含客服QQ,要求qq可点击。为了实现点击功能,这里的文本没有使用UILabel,而是采用了UITextView,使用textView的链接功能。
问题:
设置textView高度的时候,使用正常的文字高度计算方法,发现高度计算正确,但是文字只显示一行,显示不全。
解决方法:
let tv = UITextView(frame: CGRect.zero)
tv.isEditable = false
tv.backgroundColor = UIColor.clear
// 为了计算正确计算文本高度,需特殊设置textView属性,如下
tv.contentInset = UIEdgeInsets(top: -10, left: -5, bottom: -15, right: -5)
tv.textAlignment = .left
tv.layoutManager.allowsNonContiguousLayout = false
特别注意的是,不需要设置
tv.isScrollEnabled = false
原因:
老子布吉岛!等知道答案了再来贴