iOS8 系统下 UITextView contentSize计算的一个坑

    今天有个iOS8系统的UITextView的bug查了好久,具体情况体现在UITextView.text = @"" 字符串长度一千,当前的textview是无法完全展示的,需要滑动才能展示完全,但是这个textView的contentSize一直还是初始化的时候的那个,没有任何变化。

    用了kvo,搞了好多方法之后终于发现这个UITextView在setText的时候 scrollEnable是NO,当其被设置为NO的时候,textView在重新计算contentSize的时候 是不会计算超过frame之外的部分的,也就是说contentSize 会一直与textView的size保持相同。解决方案也就很明了了,在setText之前把scrollEnable设置为YES,这样计算contentSize就正常了。

    iOS8系统下的UITextView的contentSize的计算逻辑与 iOS9及之后的版本应该是有所不同的,这个问题在iOS9之后的版本都没有出现过,iOS7还没有测试是否也是这样。

你可能感兴趣的:(iOS8 系统下 UITextView contentSize计算的一个坑)