解决:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.automaticallyAdjustsScrollViewInsets = NO;// 默认是YES
self.edgesForExtendedLayout = UIRectEdgeNone;// 推荐使用
}
原因:
在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。