iOS 开发技巧 - UIViewController不让导航栏遮挡控件

想必大家都遇到一种情况,明明y坐标设置的是0,但是总是被讨厌的导航栏给遮住。比如下面这个情况:

先创建测试用按钮

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

[button setTitle:@"点击" forState:UIControlStateNormal];

[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

[self.view addSubview:button];

button.frame = CGRectMake(0, 0, 100, 30);

运行看效果:


在iOS7之后,UIViewController 引入了一个新的属性:edgesForExtendedLayout

@property(nonatomic,assign) UIRectEdge edgesForExtendedLayout NS_AVAILABLE_IOS(7_0); // Defaults to UIRectEdgeAll

默认情况下是UIRectEdgeAll    = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeBottom | UIRectEdgeRight 表示上下左右都填充


修改方法:修改edgesForExtendedLayout的默认值

self.edgesForExtendedLayout = UIRectEdgeNone;

运行看效果:


ok,这样就能修改起始坐标了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容