在一个二级界面中直接添加一个UITextView时,运行我发现有个奇怪的问题,就是TextView中的输入光标不是默认的在左上角出现,而是在距离下面大概64个像素点下面出现:
然后我查看了一下它的图层,发现_UITextContainerView跑到下面去了:
正常情况下应该是在左上角的,现在跑到下面,实在难以理解。
经过研究发现,原来_UITextContainerView是一个“文字容器”的东西,是你当前输入的内容容器,要想实现iMessage那样的输入效果是要经过一些定义的,在此先不多说,解决这个蛋疼的问题先,毕竟这样很容易逼死强迫症患者。
经过漫长的查看(毕竟小白),才发现我做页面跳转时,是这样的:
调试正确的是这样的:
仅仅是一个跳转的方式不同,其中也是有差异性的,第一种的二级界面是直接用了一级界面的Navigation,而第二种则是独立出来的,二级界面的Navigation是与一级界面没有直接联系的,所以暂时推断问题是由Navigation引发的,问题解决了,后面再深究。
第二种解决方式:
原来,我们直接用push的方式跳转的子页面,_UITextContainerView会发生位移的情况,因为系统的automaticallyAdjustsScrollViewInsets默认是开启的:
@property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets NS_AVAILABLE_IOS(7_0); // Defaults to YES
把这个属性设置为No就行了,其他的保持原样。