UITextView 的坑:啟動時文字位置不從頂部開始

最近實習中碰見了機型適配小問題,關(guān)于UITextView的問題,我在xib上用Autoresizing設置了UITextView和View的大小關(guān)系,xib 的預覽尺寸選的是 View as: iPhone 7(注意這里,這里很坑)

xib界面設置.png

我要顯示的內(nèi)容的大小大概是UITextView的四倍,這些設置都沒錯,在iPhone 7上運行也是正常。

iPhone 7效果.png

可是在iPhone SE的設備上卻是這樣的,啟動時文字位置明顯下移了:


iPhone SE的效果.png

我自己查看了幾遍,覺得不是自己設置的問題,結(jié)果我把xib 的預覽尺寸設置為最小的尺寸 View as: iPhone 4,竟然直接全部正常了,,,,誤打誤撞弄好了

iPhone SE的正常效果.png

接著就是尋找原理,感謝戴倉薯的相關(guān)文章http://www.lxweimin.com/p/0f728077d1ab (跟我的問題一樣),內(nèi)容中提到:在實際運行時,UITextView 的尺寸相比在 xib 里是縮小,而不是放大。所以要選擇最小的尺寸來實現(xiàn),當然,最好的還是如其文章所說的,采用代碼的方式來完成布局。
或者可以在viewDidLayoutSubView中實現(xiàn)

-(void)viewDidLayoutSubviews{
    //置頂
    [_textView setContentOffset:CGPointZero animated:NO];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容