这种现象用代码创建TextField是不会出现的,xib创建会出现
原因:当在UINavigationController的管理下push到一个新界面的时候,默认的新界面的frame自动下拉了64(也就是导航栏和状态栏的高度),底部不会变,依然会在屏幕的最下方。其实这一切都是automaticallyAdjustsScro llViewInsets在作怪。self.automaticallyAdjustsScro llViewInsets
这个属性是IOS7才有的新方法,目的就是为了让scrollView自动适应屏幕。
xib中创建解决方法:
1.xib中设置borderStyle为UITextBorderStyleRounded Rect,拖线.m文件中,修改borderStyle:
1.xib中设置borderStyle为UITextBorderStyleRounded
TextField.borderStyle
=
UITextBorderStyleNone;就可以了
2.创建一个继承TextField的类,重写下如下方法也可解决:
- (CGRect)editingRectForBounds:(CGRect)bounds {
}
在使用XIB创建UITextField时,可能会遇到TextField位置被导航栏推移的问题,这是由于automaticallyAdjustsScrollViewInsets属性导致的。解决方法包括:1.在XIB中设置TextField的borderStyle为None,或者2.自定义TextField类并重写editingRectForBounds方法来调整编辑区域的位置。
205

被折叠的 条评论
为什么被折叠?



