UITextView

  1. 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)
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容