最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

[已解决]swift中显示UINavigationController的子页面内隐藏TabBar

Swift crifan 4235浏览 0评论
[已解决]搞懂swift写tab的标准写法
期间,虽然搞懂了标准的tabbar的写法
但是进入子页面后,则tab bar还是显示,想要去掉:
 want to hide tab
搜:
swift hide tab bar
参考:
自己折腾代码,看到个:
self.tabBarController?.hidesBottomBarWhenPushed
hidesBottomBarWhenPushed help intro
去试试
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
而不是所希望的:
当点击进入子页面时,再隐藏掉tabBar。
后来发现是自己搞错了:
应该是放在另外一个VC里面的:
class MessageTableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        self.tabBarController?.tabBar.hidden = true
效果达到了:
主界面中tabBar是显示的,而点击进入子页面MessageTableViewController,tabBar隐藏:

into sub page hide tabbar

[总结]
想要一个ViewController中隐藏tabBar的话,则可以在其viewDidLoad加上:
self.tabBarController?.tabBar.hidden = true

即可。

转载请注明:在路上 » [已解决]swift中显示UINavigationController的子页面内隐藏TabBar

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
86 queries in 0.278 seconds, using 22.06MB memory