视图布局向上偏移的原因及解析
来源:互联网 发布:java agent 做监控 编辑:程序博客网 时间:2024/06/07 10:07
edgesForExtendedLayout是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向。
因为iOS7鼓励全屏布局,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说,如果即使视图中上有navigationBar,下有tabBar,那么视图仍会延伸覆盖到四周的区域。
具体代码是这句:
self.edgesForExtendedLayout = UIRectEdgeNone;
self.automaticallyAdjustsScrollViewInsets = NO;//这句代码可有可无视效果而定
来解决UINavigationBar透明的问题。设置了UIRectEdgeNone之后,你嵌在UIViewController里面的UITableView和UIScrollView就不会穿过UINavigationBar了,同时UIView的控件也回复到了iOS6时代。
不过这个对于Status Bar在iOS7上面的变化是无效的,正确的说应该是部分无效。在存在Navigation部分或者Tabbar部分的时候,上面的代码可以使得Status Bar也不载透明(有待验证,毕竟UIViewController的可用空间被控制了),但是在没有这两个部分的时候,Status Bar依旧是会记入UIView范围的。
问题:使用了Xib常见一个viewController后不加这句话,原点位置也移动到navigationBar下面。
原地址http://www.bubuko.com/infodetail-290234.html
在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。
修复这个问题的快速方法就是在方法- (void)viewDidLoad中添加如下一行代码:
self.edgesForExtendedLayout = UIRectEdgeNone;
这样问题就修复了。
原地址http://blog.csdn.net/cny901111/article/details/26529949
- 视图布局向上偏移的原因及解析
- listview的item向上偏移
- iOS开发--TableView向上偏移的情况
- 结构体元素偏移量宏的定义及解析
- gps纠偏及大陆地图偏移原因
- gps纠偏及大陆地图偏移原因
- tabview向下偏移原因及解决办法
- gps纠偏及大陆地图偏移原因
- 诡异的基于UITabBarController的视图偏移
- iOS 解决视图往下偏移的问题
- iOS之有关视图偏移的问题
- 显示器黑屏的原因解析及解决方法
- 关于vs2008设计视图假死的原因及解决方案总结
- 关于vs2008设计视图假死的原因及解决方案总结
- 关于vs2008设计视图假死的原因及解决方案总结
- RadioButton 布局整体向右偏移的解决方法
- 视图、命令、资源文件及布局的使用
- Spring MVC 中 如何解析视图及视图解析的详细流程
- Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missi
- Gradle for Android(二)全局设置、自定义BuildConfig、混淆
- 解决 RHEL 7/ CentOS 7/Fedora 出现Unit iptables.service failed to load
- acm_problem_1013
- 感兴趣区域检测技术
- 视图布局向上偏移的原因及解析
- iOS开发-进阶:NSArray倒序输出
- gem install sass 本地配置和淘宝源无效的解决办法
- Java 四种线程池的用法分析
- 循环队列--数组实现
- Kafka Java API示例
- 网络爬虫基本流程及开源爬虫
- Linux串口(serial、uart)驱动程序设计
- UE4初学笔记一