? ? 今天有個(gè)iOS8系統(tǒng)的UITextView的bug查了好久单鹿,具體情況體現(xiàn)在UITextView.text = @"" 字符串長(zhǎng)度一千,當(dāng)前的textview是無(wú)法完全展示的深纲,需要滑動(dòng)才能展示完全仲锄,但是這個(gè)textView的contentSize一直還是初始化的時(shí)候的那個(gè),沒(méi)有任何變化湃鹊。
? ? 用了kvo儒喊,搞了好多方法之后終于發(fā)現(xiàn)這個(gè)UITextView在setText的時(shí)候 scrollEnable是NO,當(dāng)其被設(shè)置為NO的時(shí)候币呵,textView在重新計(jì)算contentSize的時(shí)候 是不會(huì)計(jì)算超過(guò)frame之外的部分的怀愧,也就是說(shuō)contentSize 會(huì)一直與textView的size保持相同。解決方案也就很明了了余赢,在setText之前把scrollEnable設(shè)置為YES芯义,這樣計(jì)算contentSize就正常了。
? ? iOS8系統(tǒng)下的UITextView的contentSize的計(jì)算邏輯與 iOS9及之后的版本應(yīng)該是有所不同的妻柒,這個(gè)問(wèn)題在iOS9之后的版本都沒(méi)有出現(xiàn)過(guò)扛拨,iOS7還沒(méi)有測(cè)試是否也是這樣。