ios - TabBar 隐藏在 viewDidLoad 中但不隐藏在手势功能中

标签 ios swift uitabbarcontroller uitabbar viewcontroller

我尝试在 viewDidLoad() 中调用 tabBarController!.tabBar.hidden = true,它隐藏了 TabBar。但是,我尝试设置点击手势并隐藏点击栏。父 viewController 内部有 ScrollView 和 subview (作为 myView 与 IBOutlet 连接)

override func viewDidLoad() {
        super.viewDidLoad()

        let tap = UITapGestureRecognizer(target: self, action: Selector("handleTap:"))
        myView.addGestureRecognizer(tap)
}

func handleTap(sender: UITapGestureRecognizer? = nil) {
   print("A") // logs successfully
           if TabBarHidden == false {
               print("B") // logs successfully

               //I tried:
               tabBarController?.tabBar.hidden = true

               // I also tried
               tabBarController?.tabBar.alpha = 0
               tabBarController?.tabBar.frame.origin.x += 50
               hidesBottomBarWhenPushed = true


           } else {
               ...
               TabBarHidden = false
           }
    }

hidden 当我像我说的那样在 viewDidLoad 中调用它时确实有效,但如果我调用点击手势功能则无效。可能是什么问题?我错过了什么?

最佳答案

这段代码完全适合我:

class ViewController: UIViewController {
    var tabBarHidden: Bool = false {
        didSet {
            tabBarController?.tabBar.hidden = tabBarHidden
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapGestureRecognized(_:)))
        view.addGestureRecognizer(tapGestureRecognizer)
    }

    func tapGestureRecognized(sender: UITapGestureRecognizer) {
        tabBarHidden = !tabBarHidden
    }
}

关于ios - TabBar 隐藏在 viewDidLoad 中但不隐藏在手势功能中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36583897/

相关文章:

ios - UIButton 在我不希望它是透明的时候是透明的

ios - 快速获取另一个类(class)的位置结果

ios - 为什么 "Tab Bar Controller"不显示图标?

ios - 从标签栏 Controller 分支出来?

ios - 弹出 View 推送当前 View SwiftUI

ios - [String] 常量发生内存泄漏

ios - 在 Swift 4 中从计算变量创建关键路径

ios - 在 Swift Parse SDK 中使用 Pointer<_User> 进行查询

swift - 以编程方式显示 TabBar 元素的子 ViewController(并传递数据)

iphone - 如何在单独的 View Controller 中从 webview 中的小图像(如 facebook)中显示全屏图像?