《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、可以通过topLayoutGuidebottomLayoutGuide来建立约束。

(1)topLayoutGuide保持在状态栏的底部,如果有顶栏,则保持在顶栏的底部。

(2)bottomLayoutGuide保持在底栏的顶部。

4、状态栏的样式可以通过重写根视图控制器的preferredStatusBarStyle方法来设置,允许返回的可选值为UIStatusBarStyleDefaultUIStatusBarStyleLightContent

5、状态栏的显示与隐藏可以通过重写根视图控制器的prefersStatusBarHidden方法来设置,返回YESNO

6、获得状态栏高度的方法有

(1)[UIScreen mainScreen].applicationFrame.size.height

(2)[UIApplication sharedApplication].statusBarFrame.size.height

转载于:https://www.cnblogs.com/be2n2me/p/3654042.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值