在一個二級界面中直接添加一個UITextView時锦秒,運行我發(fā)現(xiàn)有個奇怪的問題,就是TextView中的輸入光標不是默認的在左上角出現(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
正常情況下應該是在左上角的,現(xiàn)在跑到下面拯田,實在難以理解船庇。
經過研究發(fā)現(xiàn),原來_UITextContainerView是一個“文字容器”的東西臣淤,是你當前輸入的內容容器窃爷,要想實現(xiàn)iMessage那樣的輸入效果是要經過一些定義的,在此先不多說医吊,解決這個蛋疼的問題先卿堂,畢竟這樣很容易逼死強迫癥患者造虏。
經過漫長的查看(畢竟小白),才發(fā)現(xiàn)我做頁面跳轉時陶珠,是這樣的:
屏幕快照 2016-10-19 上午2.12.18.png
調試正確的是這樣的:
屏幕快照 2016-10-19 上午2.29.48.png
僅僅是一個跳轉的方式不同揍诽,其中也是有差異性的暑脆,第一種的二級界面是直接用了一級界面的Navigation狐肢,而第二種則是獨立出來的,二級界面的Navigation是與一級界面沒有直接聯(lián)系的碟联,所以暫時推斷問題是由Navigation引發(fā)的,問題解決了壶栋,后面再深究普监。
第二種解決方式:
原來,我們直接用push的方式跳轉的子頁面毙玻,_UITextContainerView會發(fā)生位移的情況廊散,因為系統(tǒng)的automaticallyAdjustsScrollViewInsets默認是開啟的:
@property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets NS_AVAILABLE_IOS(7_0); // Defaults to YES
把這個屬性設置為No就行了奸汇,其他的保持原樣擂找。