TabBar遮挡问题
AutoLayout适配UI时,使用UITabBarViewController时发现,tableView 无法在和UINavgationController下自动让出显示View,tableView 被遮挡住了。
解决办法:
OC代码:1
self.edgesForExtendedLayout = UIRectEdgeNone;
Swift代码:1
this.EdgesForExtendedLayout = UIRectEdge.None;
iOS7后,苹果实行全屏幕适配,导航栏半透明化,可以通过 translucent 修改。
UIScrollView 控件automaticallyAdjustsScrollViewInsets 默认YES,系统会自动设置scrollview及其字累对象的contentInset属性,使scrollView上的内容不被navgationBar、tabBar、等内容遮挡。对于一个scrollView来说,它所在的VC是否显示navigationBar、tabBar,对scrollView的布局有一定的影响,如果从(0,0)开始布局scrollView,那么当他所在的VC欧navigationbar时,该scrollView就会被navigationBar遮挡,如果从(0,64)开始布局scrollView,那么他所在的VC没有navigationBar时,该scrollView会有64个点的白色区域,勾选该选项就可以从(0,0)开始布局,不用关心该页面是否会显示navigationBar,系统会自动把添加到这个VC的scrollView的contentInset调整为合适的值:
scrollView.contentInset.top +=64;
是自动控制内边距,避免tableView等被导航栏遮盖1
2
3if ([self respondsToSelector:@selector(setAutomaticallyAdjustsScrollViewInsets:)]) {
self.automaticallyAdjustsScrollViewInsets = NO;
}