隐藏UITabBarController 底部的TabBar

Posted on Posted in iOS, Swift

隐藏UITabBarController 底部的TabBar

在使用UITabBarController 时有时候我们会需要暂时隐藏掉底部的tabbar,例如一个聊天程序中从好友列表页进入和某个人的详细聊天界面,这时候就需要隐藏掉底部的tabbar,否则就会遮挡住底部的文字输入框。虽然在 UIViewController 中也提供了 hidesBottomBarWhenPushed 的属性,但是这个属性也只能在UINavigationController push 的时候才起作用,而当我们想从聊天界面返回列表页面让tabbar再次显示时,用这个属性就变得难控制了。因此我们就需要自己实现一个隐藏 tabbar 的函数 setTabBarVisible(visible: Bool, animated: Bool, completion: ((Bool) -> Void)?),在需要跳转的地方的地方调用这个方法隐藏 tabbar,再返回的时候调用来重新显示。

由于在UIViewController中有 tabBarController 这个属性,所以我们可以将这个方法写在UIViewController 的扩展中去。下面是这个函数的实现逻辑,主要思路就是在隐藏tabbar时通过动画来将 tabBarController.tabBar 隐藏,需要显示时再让其显示即可:

发表评论

电子邮件地址不会被公开。 必填项已用*标注