UIViewController界面布局的一些坑
来源:互联网 发布:淘宝运营书籍 编辑:程序博客网 时间:2024/06/11 20:53
self.automaticallyAdjustsScrollViewInsets =NO;//当我们一个界面有多个tableView之类的,要将它设置为NO,完全由自己手动来布局,就不会错乱了.
self.extendedLayoutIncludesOpaqueBars =YES;//在navigationBar不透明的情况下(0,0)点是否延伸到navigationBar的底部,默认不延伸
// self.edgesForExtendedLayout = UIRectEdgeBottom | UIRectEdgeLeft | UIRectEdgeRight;表示视图是否覆盖到四周的区域,默认是UIRectEdgeAll,即上下左右四个方向都会覆盖,那么为让顶部不进行延伸到导航栏覆盖的区域,我们可以把顶部区域延伸去掉。
我在做的时候发现viewDidLoad的时候view的高度还是全屏,viewWillAppear已经去掉navigationbar了,所以frame的设置放在了viewWillAppear中比较准确。
例子:
1、当设置:self.extendedLayoutIncludesOpaqueBars = YES;
self.edgesForExtendedLayout = UIRectEdgeBottom | UIRectEdgeLeft | UIRectEdgeRight;
打印结果:
-----viewDidLoad----=0.000000 0.000000 375.000000 667.000000
-----viewWillAppear----=0.000000 64.000000 375.000000 603.000000
虽然extendedLayoutIncludesOpaqueBars=YES,但是edgesForExtendedLayout没有包含top
2、当设置:self.extendedLayoutIncludesOpaqueBars = YES;
self.edgesForExtendedLayout = UIRectEdgeBottom | UIRectEdgeLeft | UIRectEdgeRight |UIRectEdgeTop;
打印结果:
-----viewDidLoad----=0.000000 0.000000 375.000000 667.000000
-----viewWillAppear----=0.000000 0.000000 375.000000 667.000000
3、当设置:self.extendedLayoutIncludesOpaqueBars = NO;
self.edgesForExtendedLayout = UIRectEdgeBottom | UIRectEdgeLeft | UIRectEdgeRight | UIRectEdgeTop;
打印结果:
-----viewDidLoad----=0.000000 0.000000 375.000000 667.000000
-----viewWillAppear----=0.000000 64.000000 375.000000 603.000000
4、当设置:self.extendedLayoutIncludesOpaqueBars = NO;
self.edgesForExtendedLayout = UIRectEdgeBottom | UIRectEdgeLeft | UIRectEdgeRight;
打印结果:
-----viewDidLoad----=0.000000 0.000000 375.000000 667.000000
-----viewWillAppear----=0.000000 64.000000 375.000000 603.000000
- UIViewController界面布局的一些坑
- 安卓界面布局的一些基本知识
- 一些图文并茂的界面布局快捷方式
- Storyboard中 UIViewController+UITableView使用 autolayout引起的界面布局问题
- iOS 6.0中UIViewController被弃用的一些方法(界面跳转等)
- UIViewController的一些使用总结
- UIViewController界面跳转时的值传递
- UIViewController的生命周期及界面切换
- 纯代码实现布局的UIViewController跳转到带storyboard布局的UIViewController
- iOS 6.0 UIViewController被弃用的一些方法
- Android的界面布局
- 【UIViewController界面传值】
- ExtJs 一些常用啊例子如界面布局,组件的使用等之类的
- 基于地图的短信追踪小练习(4)主界面布局的一些内容
- xcode 4.3 怎么新建class 和一些uiviewcontroller 的使用
- xcode 4.3 怎么新建class 和一些uiviewcontroller 的使用
- iOS 6.0中UIViewController被弃用的一些方法
- iOS 6.0中UIViewController被弃用的一些方法
- Java数组与c++数组的区别
- 工作日志 7.11
- android项目包名修改
- java面向对象的编程思想
- hdu2054
- UIViewController界面布局的一些坑
- 内存分配--静态内存、栈和堆
- 【转】MySQL分页查询
- C#窗体应用程序--测试插件
- Implement Queue using Stacks(用栈实现队列)
- myeclipse安装svn插件的多种方式
- OC基础9:预处理程序
- 关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)
- parsing restarts here after previous syntax error错误