期间,虽然搞懂了标准的tabbar的写法
但是进入子页面后,则tab bar还是显示,想要去掉:
![want to hide tab](https://www.crifan.com/files/pic/uploads/2016/07/want-to-hide-tab.png)
搜:
swift hide tab bar
参考:
自己折腾代码,看到个:
self.tabBarController?.hidesBottomBarWhenPushed
![hidesBottomBarWhenPushed help intro](https://www.crifan.com/files/pic/uploads/2016/07/hidesBottomBarWhenPushed-help-intro.png)
去试试
import UIKit class ConversationViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { override func viewDidLoad() { super.viewDidLoad() //print("self.tabBarController?.hidesBottomBarWhenPushed=\(self.tabBarController?.hidesBottomBarWhenPushed)") self.tabBarController?.hidesBottomBarWhenPushed = true
结果没生效:
点击进入该页面后,还是没有隐藏tab bar
看了解释:
提到的是“toolbar”而不是tab bar。。。
参考:
结果:
class ConversationViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { override func viewDidLoad() { super.viewDidLoad() self.tabBarController?.tabBar.hidden = true
但是导致:
主页面中的tabBar都被隐藏了。。。
![hide whole tab bar in main page](https://www.crifan.com/files/pic/uploads/2016/07/hide-whole-tab-bar-in-main-page.png)
而不是所希望的:
当点击进入子页面时,再隐藏掉tabBar。
后来发现是自己搞错了:
应该是放在另外一个VC里面的:
class MessageTableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { override func viewDidLoad() { super.viewDidLoad() self.tabBarController?.tabBar.hidden = true
效果达到了:
主界面中tabBar是显示的,而点击进入子页面MessageTableViewController,tabBar隐藏:
[总结]
想要一个ViewController中隐藏tabBar的话,则可以在其viewDidLoad加上:
self.tabBarController?.tabBar.hidden = true
即可。
转载请注明:在路上 » [已解决]swift中显示UINavigationController的子页面内隐藏TabBar