iOS7 edgesForExtendedLayout
来源:互联网 发布:python cgi库 编辑:程序博客网 时间:2024/04/29 03:10
今天在做UISearchBar,UISearchDisplayController时遇到了一个问题,在点击搜索栏时阴影部分的位置出现偏差
如下图:
始终觉得很奇怪,后面单独做了一个demo,将同样的代码拷过去发现显示正常的。
然后再逐一查看代码看到如下:
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- // Do any additional setup after loading the view.
- if (OSVersionIsAtLeastiOS7()) {
- if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
- {
- self.edgesForExtendedLayout = UIRectEdgeNone;
- }
- }
- }
原因:
在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:]
,它的默认值为UIRectEdgeAll
。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。
修复这个问题的快速方法就是在方法- (void)viewDidLoad
中添加如下一行代码:
<span class="line-number" style="margin: 0px; padding: 0px;">1</span>
self.edgesForExtendedLayout = UIRectEdgeNone;
这样问题就修复了。
0 0
- iOS7 edgesForExtendedLayout
- IOS7 edgesForExtendedLayout
- iOS7 edgesForExtendedLayout
- iOS7 edgesForExtendedLayout
- iOS7 edgesForExtendedLayout
- IOS7 edgesForExtendedLayout
- IOS7 edgesForExtendedLayout
- iOS7 edgesForExtendedLayout
- iOS7 edgesForExtendedLayout
- iOS7 edgesForExtendedLayout
- edgesForExtendedLayout ios7新特性
- edgesForExtendedLayout ios7新特性
- edgesForExtendedLayout ios7新特性
- iOS7 新特性 edgesForExtendedLayout
- edgesForExtendedLayout ios7新特性
- edgesForExtendedLayout ios7新特性
- edgesForExtendedLayout ios7新特性
- iOS7新特性 edgesForExtendedLayout
- 为你的SQLite开发选择一款比较好的工具
- 欢迎使用CSDN-markdown编辑器
- Android 第三方开源强大的图片下载项目ImageLoader的使用方法
- Android strings.xml 显示特殊符号
- 数据挖掘领域顶级会议期刊及其分析
- iOS7 edgesForExtendedLayout
- 作业3.23
- 新改进了系列软件版本!
- 关于CSerialPort类的线程没有关闭的原因
- Git学习总结
- 菜鸟学习之Android Service组件
- Django学习笔记 官网教程纠正 代码
- [AlgorithmClass01-1]最大连续子序列和
- Redis学习视频教程