setEdgesForExtendedLayout

在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll
当容器是NavigationController时,默认的布局将从NavigationBar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。
为了做适配,可以这样写:

if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) {
        self.edgesForExtendedLayout = UIRectEdgeNone;
    }

如果对setEdgesForExtendedLayout有反应,则说明是iOS 7以上版本,默认UIRectEdgeAll,UI元素会往上漂移,需要设置回UIRectEdgeNone

你可能感兴趣的:(setEdgesForExtendedLayout)