美文网首页
self.view.frame的布局问题

self.view.frame的布局问题

作者: 未知的远方 | 来源:发表于2017-02-09 11:51 被阅读1178次

转自http://blog.csdn.net/zww1984774346/article/details/51730357

如果设置成 self.edgesForExtendedLayout = UIRectEdgeBottom;那么就会self.view.frame是从navigationBar下面开始计算一直到屏幕底部;
如果设置成 self.edgesForExtendedLayout = UIRectEdgeNone;那么就会self.view.frame是从navigationBar下面开始计算一直到屏幕tabBar上部;
如果设置成 self.edgesForExtendedLayout = UIRectEdgeTop;那么就会self.view.frame是从navigationBar上面计算面开始计算一直到屏幕tabBar上部;
iOS7以上系统,self.navigationController.navigationBar.translucent默认为YES,self.view.frame.origin.y从0开始(屏幕最上部)。
此时若是添加代码self.edgesForExtendedLayout = UIRectEdgeNone(iOS7.0以后方法);self.view.frame.origin.y会下移64像素至navBar下方开始。但是此时当push到一个新的controller之前给当前屏幕截图的时候[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];,由于navBar是透明的,会出现64像素的黑色区域。

此时只需要把self.navigationController.navigationBar.translucent=NO即可,不需要加代码self.edgesForExtendedLayout;

iOS7之后也增加了一个self.tabBarController.tabBar.translucent的属性,默认为YES。当应用同时使用navBar和TabBar的时候。设置self.tabBarController.tabBar.translucent=NO并且self.navigationController.navigationBar.translucent=NO时候,得到self.view.frame—>{{0, 64}, {320, 455}}。视图的高度也改变为navBar和tabBar之间的455像素。当self.navigationController.navigationBar.translucent=YES并且self.tabBarController.tabBar.translucent=NO的时候self.view.frame—>{{0, 0}, {320, 519}};其都为YES的时候self.view.frame—>{{0, 0}, {320, 568}};

注意:设置self.edgesForExtendedLayout = UIRectEdgeNone;的时候会使得navBar和tabBar都不占空间。self.view.frame—>{{0, 64}, {320, 455}}。此时iOS7默认navBar和tabBar都是透明的。截图的时候需要注意。

相关文章

  • self.view.frame的布局问题

    转自http://blog.csdn.net/zww1984774346/article/details/5173...

  • Xcode_LLDB调试技巧

    调试窗口介绍 问题1:LLDB 打印 frame (如:po self.view.frame) 问题2:给xcod...

  • iOS打印frame类型

    打印Rect :NSLog(@"%@",NSStringFromCGRect(self.view.frame));...

  • 关于xcode控制台

    (lldb) po self.view.frame (origin = (x = 0, y = 0), size ...

  • iOS viewWillAppear 的 frame 是不正确的

    self.view.frame 在 viewWillLayoutSubviews 后的值才会是显示的最终值 ios...

  • 思维导图百图计划

    今天导图的布局有点问题,明天改正布局方面的问题。

  • 布局问题

    1、外边距重叠——若两个元素上下毗邻且都定义了不为0的外边距值,同时又没有任何内边距、边框等设定,那么这两个元素之...

  • 表情、输入布局辅助View

    解决聊天布局 输入框、键盘弹起、表情布局、其他布局的交互布局变化问题

  • 页面布局

    概述: 页面布局常用的方法有浮动布局、绝对定位布局、表格布局、弹性布局(flex)、网格布局 三栏布局问题高度已知...

  • automaticallyAdjustsScrollViewIn

    观察中间红色按钮的位置,可以了解到self.view.frame的起始位置不同 创建scrollView的代码,f...

网友评论

      本文标题:self.view.frame的布局问题

      本文链接:https://www.haomeiwen.com/subject/uvsiittx.html