關(guān)于UITextView中的_UITextContainerView引發(fā)的一些奇怪現(xiàn)狀

在一個二級界面中直接添加一個UITextView時,運行我發(fā)現(xiàn)有個奇怪的問題,就是TextView中的輸入光標(biāo)不是默認(rèn)的在左上角出現(xiàn),而是在距離下面大概64個像素點下面出現(xiàn):

Simulator Screen Shot 2016年10月19日 上午2.11.54.png
然后我查看了一下它的圖層,發(fā)現(xiàn)_UITextContainerView跑到下面去了:
屏幕快照 2016-10-19 上午12.18.32.png

正常情況下應(yīng)該是在左上角的,現(xiàn)在跑到下面,實在難以理解。
經(jīng)過研究發(fā)現(xiàn),原來_UITextContainerView是一個“文字容器”的東西,是你當(dāng)前輸入的內(nèi)容容器,要想實現(xiàn)iMessage那樣的輸入效果是要經(jīng)過一些定義的,在此先不多說,解決這個蛋疼的問題先,畢竟這樣很容易逼死強迫癥患者。

經(jīng)過漫長的查看(畢竟小白),才發(fā)現(xiàn)我做頁面跳轉(zhuǎn)時,是這樣的:
屏幕快照 2016-10-19 上午2.12.18.png
調(diào)試正確的是這樣的:
屏幕快照 2016-10-19 上午2.29.48.png

僅僅是一個跳轉(zhuǎn)的方式不同,其中也是有差異性的,第一種的二級界面是直接用了一級界面的Navigation,而第二種則是獨立出來的,二級界面的Navigation是與一級界面沒有直接聯(lián)系的,所以暫時推斷問題是由Navigation引發(fā)的,問題解決了,后面再深究。

第二種解決方式:

原來,我們直接用push的方式跳轉(zhuǎn)的子頁面,_UITextContainerView會發(fā)生位移的情況,因為系統(tǒng)的automaticallyAdjustsScrollViewInsets默認(rèn)是開啟的:

@property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets NS_AVAILABLE_IOS(7_0); // Defaults to YES

把這個屬性設(shè)置為No就行了,其他的保持原樣。

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

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