本文共 542 字,大约阅读时间需要 1 分钟。
edgesForExtendedLayout是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向。
因为iOS7鼓励全屏布局,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说,如果即使视图中上有navigationBar,下有tabBar,那么视图仍会延伸覆盖到四周的区域。
在iOS 7中,苹果引入了一个新的属性,叫做[UIViewController setEdgesForExtendedLayout:],它的默认值为UIRectEdgeAll。当你的容器是navigation controller时,默认的布局将从navigation bar的顶部开始。这就是为什么所有的UI元素都往上漂移了44pt。
self .edgesForExtendedLayout = UIRectEdge . init (rawValue: 0 )
IOS11.中的设置:
CGFloat sys=UIDevice.init().systemVersion
if sys>=11{
tab.contentInsetAdjustmentBehavior=UIScrollViewContentInsetAdjustmentBehavior.always
}
转载地址:http://ximgi.baihongyu.com/