- UITextView作为能够滑动的label时,可能出现的问题:
(1)文字显示不全问题?
- 注释:有时候,即使textView可以滑动,也显示不全文字,即最后一行文字的下半部分会被裁减掉。遇到这种问题,是因为textView的contentInset出现的问题
override func awakeFromNib() {
super.awakeFromNib()
textView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0)
textView.textAlignment = NSTextAlignment.left
}
- 其他:
用uitextview显示比较长的文本内容,在做页面切换的时候,发现经常出现textview显示空白或者只显示一部分内容的问题。用setneedsdisplay 也不行。后来在网上找到一个相同的问题,解决方法就是在textview显示的时候先清除textview里的内容在给它赋值。问题产生的原因估计是跟textview的缓存有关。
textView.text = nil
textView.text = paragraphText
(2)TextView文字初始位置不在文章开始的问题?
- 注释:当textView的文字过多,可以滑动的时候,直接给textView.text赋值,textView会自动划到最底部,显示最后面的文字,这样就会导致文字展示的初始位置并不是文章的开头文字。需要在展示的时候加上以下代码
override func layoutSubviews() {
super.layoutSubviews()
textView.scrollRangeToVisible(NSMakeRange(0, 1))
}
(3)iOS9.0.2的设备上字体显示不正确?
- 注释:明明已经设置了字体颜色、字体大小,可是为什么不生效呢?这是iOS9.0.2的bug,需要在layoutSubviews方法中设置才能生效!
@IBOutlet weak var textView: UITextView!
override func awakeFromNib() {
super.awakeFromNib()
textView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0)
textView.textAlignment = NSTextAlignment.left
}
override func layoutSubviews() {
super.layoutSubviews()
textView.scrollRangeToVisible(NSMakeRange(0, 1))
textView.textColor = UIColor.hexColor(0xFFF7AA)
textView.font = UIFont.boldSystemFont(ofSize: 18)
}