属性:
1、edgesForExtendedLayout
在IOS7以后 ViewController 开始使用全屏布局的,而且是默认的行为通常涉及到布局,就离不开这个属性 edgesForExtendedLayout,它是一个类型为UIExtendedEdge的属性:指定边缘要延伸的方向。它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说,
如果即使视图中上有navigationBar,下有tabBar,那么视图仍会延伸覆盖到四周的区域。
(紫色的为ViewControl 虽然这个界面存在navigation和tabbar,但这个viercontrol还是延伸到了整个Window)
因为一般为了不让tableView 不延伸到 navigationBar 下面, 属性设置为 UIRectEdgeNone
self.viewController.edgesForExtendedLayout = UIRectEdgeNone;
//通过设置此属性,你可以指定view的边(上、下、左、右)延伸到整个屏幕。
typedef NS_OPTIONS(NSUInteger, UIRectEdge) {
UIRectEdgeNone = 0,
UIRectEdgeTop = 1 << 0,
UIRectEdgeLeft = 1 << 1,
UIRectEdgeBottom = 1 << 2,
UIRectEdgeRight = 1 << 3,
UIRectEdgeAll = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeBottom | UIRectEdgeRight
} NS_ENUM_AVAILABLE_IOS(7_0);
延伸—————
不知道大家有没有看到界面上还有两个小的长方形,现实的紫色或是黄色的,上面那个是UINavigationController的特效视图、下面那个则是UITabBarController的特效视图
//隐藏UINavigationController和UITabBarController的UIVisualEffectView
UITabBarController.tabBar.translucent = NO;
UINavigationController.navigationBar.translucent = NO;