如果用xib,则xib中也要设置
- extendedLayoutIncludesOpaqueBars 默认值为NO,这个属性在bar(包括顶部和底部的bar
)不为透明的时候使用,使得视图延伸到不透明的bar下面。bar为透明的时候viewController的view自动延伸到bar下面。
self.tabBarController.tabBar.translucent = NO;
self.extendedLayoutIncludesOpaqueBars = NO;
Snip20180515_1.png
self.tabBarController.tabBar.translucent = YES;
或者
self.tabBarController.tabBar.translucent = NO;
self.extendedLayoutIncludesOpaqueBars = YES;
Snip20180515_2.png
- setEdgesForExtendedLayout
self.tabBarController.tabBar.translucent = YES;
self.edgesForExtendedLayout = UIRectEdgeNone;
Snip20180515_1.png
- automaticallyAdjustsScrollViewInsets 根据按所在界面的status bar,navigationbar,与tabbar的高度,自动调整scrollview的 inset,设置为no,不让viewController调整。
如果遇到从当前界面跳转到下一个界面的时候,导航栏多出来一个或者tabbar隐藏不了等问题的,大部分情况都是automaticallyAdjustsScrollViewInsets状态是YES造成的,那么这时候可以在viewDidLoad这个方法里面加一句:self.automaticallyAdjustsScrollViewInsets = NO; 不让它自动留出空白。
-
useLayoutToLayoutNavigationTransitions,这是一个BOOL值,如果设置该值为YES,如果navigationController push或者pop 一个collectionViewController 到另一个collectionViewController的时候,其所在的navigationController就可以用collectionView的布局转场动画来替换标准的转场。
如下图,两个UICollectionViewController公用一个UICollectionView了
Snip20180516_1.png -
interactivePopGestureRecognizer iOS7之后系统提供了侧滑手势(interactivePopGestureRecognizer),即从屏幕左侧边缘滑起会pop回导航控制器栈的上个viewController。不过如果你自定义了UINavigationViewController或者自定义了返回按钮,系统自带的侧滑返回功能会失效。此时需要添加下面的代码解决:
self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;
网友评论