无论是代码写UI还是拖控件搭UI,如果当前控制器的View的第一个子View是UITextView或者是继承自UIScrollView的控件,会有奇怪的现象,如下图:
输入光标会上下跳跃,有种失灵的感觉。
这是因为当导航栏的半透明效果开启的时候(translucent属性值为YES),控制器的View的(0,0)坐标在手机屏幕左上角,此时系统就会默认给UITextView预留64的占位空间,如图:
而当导航栏的半透明效果关闭了之后(translucent属性值为NO),控制器的View的(0,0)坐标在导航栏的左下角位置,如图:
半透明效果关闭了之后再次运行程序时,之前那个奇怪现象就没了。
这个导航栏半透明效果是 IOS 7.0 以后才出现的。
可是到底为什么会这样,也不是很明白,只知道怎么解决。