//定义宏,判断ios7 #define IOS7 [[[UIDevice currentDevice]systemVersion] floatValue] >= 7.0
if (iOS7) { self.automaticallyAdjustsScrollViewInsets = NO; self.edgesForExtendedLayout = UIRectEdgeNone; }
1、self.automaticallyAdjustsScrollViewInsets = NO;
看
这个UIViewController的这个属性你就明白了,此属性默认为YES,这样UIViewController下如果只有一个
UIScollView或者其子类,那么会自动留出空白,让scollview滚动经过各种bar下面时能隐约看到内容。但是每个
UIViewController只能有唯一一个UIScollView或者其子类,如果超过一个,需要将此属性设置为NO,自己去控制留白以及坐标问
题。
2、在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:]
,它的默认值为UIRectEdgeAll
。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。
[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll
。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。
- (void)viewDidLoad中添加如下一行代码:
1 |
|
这样问题就修复了。
待续。。。
时间: 2024-11-04 18:45:11