onm*_*133 69 height frame statusbar navigationbar ios7
我刚刚使用默认的Master Details模板创建了一个简单的iOS 7应用程序.
在MasterViewController.m,viewDidAppear方法,我登录了
self.navigationController.navigationBar.frame.size.height
self.navigationController.navigationBar.frame.origin.y
Run Code Online (Sandbox Code Playgroud)
并因此收到44和20.这看起来很奇怪,因为根据我的阅读,iOS 7中的导航栏应该是64点高度并从0点开始,因此它位于状态栏下方.我读到的是
因为状态栏是透明的,所以它后面的视图显示出来
如果您的应用使用自定义图像作为条形图的背景,则需要提供"更高"的图像,使其向上延伸到状态栏后面.导航栏的高度从44点(88像素)更改为64点(128像素).
我从"编程iOS 7"一书中找到了这个答案,"条形位置和条形指标"一节
如果导航栏或工具栏 - 或搜索栏(本章前面讨论过) - 占据屏幕顶部,则iOS 7约定是应增加其高度以使透明状态栏不足.为了实现这一点,iOS 7引入了条形位置的概念.
指定栏位于屏幕顶部及其包含视图.具有此位置的条形图将其背景向上扩展,允许其背景内容通过状态栏显示.适用于iOS 7.0及更高版本.
| 归档时间: |
|
| 查看次数: |
126603 次 |
| 最近记录: |