美文网首页
开发笔记-IOS TAB-Navi 视图搭配下隐藏Tabbar的

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

作者: 润泽笔下 | 来源:发表于2016-05-05 20:16 被阅读659次

    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;

    这两句话。

    相关文章

      网友评论

          本文标题:开发笔记-IOS TAB-Navi 视图搭配下隐藏Tabbar的

          本文链接:https://www.haomeiwen.com/subject/gqwdrttx.html