《Programming iOS 7》读书笔记 - 窗体大小与状态栏
1、从iOS7开始,状态栏开始变为透明的,根识图占领了整个窗体,包括状态栏后面的20像素高的区域,这种样式无法被改变。iOS6的状态栏是不透明的,窗体的尺寸通常会比屏幕的尺寸要小,可以设置窗体的尺寸为[UIScreen mainScreen].applicationFrame。
2、标题栏与导航栏也变为了透明的,可以通过设置UIViewController的两个属性来改变这种行为(该UIViewController的父亲必须是UINavigationController或者是UITabBarController)。
(1)edgesForExtendedLayout
UIRectEdgeAll,默认值,意为顶部和底部均有覆盖效果,视图部分位于顶栏和底栏的背后。
UIRectEdgeNone,均不覆盖,视图位于顶栏和底栏的中间。
UIRectEdgeTop,仅上部覆盖,视图位于底栏的上部。
UIRectEdgeBottom,仅下部覆盖,视图位于顶栏的下部。
(2)extendedLayoutIncludesOpaqueBars
YES,如果edgesForExtendedLayout允许覆盖,则不管顶栏和底栏是否透明,都覆盖。
NO,默认值,只有当顶栏和底栏透明时才允许覆盖。
3、可以通过topLayoutGuide和bottomLayoutGuide来建立约束。
(1)topLayoutGuide保持在状态栏的底部,如果有顶栏,则保持在顶栏的底部。
(2)bottomLayoutGuide保持在底栏的顶部。
4、状态栏的样式可以通过重写根视图控制器的preferredStatusBarStyle方法来设置,允许返回的可选值为UIStatusBarStyleDefault和UIStatusBarStyleLightContent。
5、状态栏的显示与隐藏可以通过重写根视图控制器的prefersStatusBarHidden方法来设置,返回YES或NO。
6、获得状态栏高度的方法有
(1)[UIScreen mainScreen].applicationFrame.size.height
(2)[UIApplication sharedApplication].statusBarFrame.size.height
最新文章
- iOS开发——高级技术&;调用地图功能的实现
- HTML5_拖放
- JNI编程,C++调用Java
- Ember.js demo2
- 转载 VC 2010下安装OpenCV2.4.4
- Log4Net 使用总结
- OpenRisc-31-关于在设计具有DMA功能的ipcore时的虚实地址转换问题的分析与解决
- IOS之TableViewCell重用机制解决上下刷新重复显示
- Internet Information Services安装与启动
- Android使用Sugar ORM创建数据库报no such table:...的解决方法
- ssh (免密码登录、开启服务)
- js最常用正则表达式集合
- SQLContext、HiveContext自定义函数注册
- 在 Docker 容器中运行应用程序
- 插播一则关于HTTP Headers详解~~~
- nodejs 数据库操作,消息的发送和接收,模拟同步
- JetBrains 授权服务器(License Server URLS)
- Druid 在有赞的实践
- 【spring源码分析】spring ioc容器之前生今世--DefaultListableBeanFactory源码解读
- library之目录