开发笔记-IOS TAB-Navi 视图搭配下隐藏Tabbar的问题

IOS7.0 及以上

在TabBarController + UINavigationController 中, 若从进入下一级页面隐藏Tabbar,采用的方法就是用系统提供的方法,setHidesBottomBarWhenPushed。默认为NO。设为YES时,当PUSH到UINavigationController 中就隐藏Tabbar,直到它POP出来。这样就OK了。

但这存在一种问题,就是当切换window的rootViewController 时,就会失效,Tabbar显示出来了。

解决。

1.如何在切换后实现隐藏。

切换回TabBarController 时,判断当前选择的UINavigationController 分支的层级,如果UINavigationController的viewControllers.count 为0,说明在UINavigationController 顶层是需要显示Tabbar,若非0就隐藏。

这里注意一点,要先设置window的rootViewController 为TabBarController。再去做判断,否则无效果。

2.问题又来了,隐藏Tabbar后,原视图的view并没有变化,高度还是未包含tabbar的高度。

解决:

在UINavigationController 的继承类里或者每一个具体页面中加入

self.edgesForExtendedLayout=UIRectEdgeBottom;

self.automaticallyAdjustsScrollViewInsets=NO;

这两句话。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容