关于屏幕适配

2016-05-08  本文已影响184人  Eternaldream

iOS7苹果为了达到全屏APP的效果推出了几个关于屏幕适配的新的属性:

@property(nonatomic,assign) UIRectEdge edgesForExtendedLayout NS_AVAILABLE_IOS(7_0); // Defaults to UIRectEdgeAll
@property(nonatomic,assign) BOOL extendedLayoutIncludesOpaqueBars NS_AVAILABLE_IOS(7_0); // Defaults to NO, but bars are translucent by default on 7_0.  
@property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets NS_AVAILABLE_IOS(7_0); // Defaults to YES

edgesForExtendedLayout 这个属性意思是:向边缘四周展开.它的值是一个结构体,默认值是UIRectEdgeAll,也就是上下左右填充整个屏幕,也就是说当你的容器是UINavigationController时,默认的布局将从UINavigationBar的顶部开始;UIRectEdgeNone是不要往四周边缘伸展,按照传统的非iOS7的来展示;
extendedLayoutIncludesOpaqueBarsNO代表展开的时候不要包含导航条;
automaticallyAdjustsScrollViewInsets整个属性默认为YES,实际上底层是改变了UIScrollViewcontentInset,如果你当前视图存在唯一一个UIScrollView或者其子类的View,那么他会自动设置相应的内边距,这样可以让UIScrollView占据整个视图,又不会让导航栏遮盖,可以设置整个属性为NO,来解决,当然也可以修改UIViewControlleredgesForExtendedLayout属性

self.edgesForExtendedLayout = UIExtendedEdgeNone;
上一篇下一篇

猜你喜欢

热点阅读