Swift/iOS: 触摸标签栏项目时隐藏标签栏

Swift/iOS: Hide TabBar when Tab Bar Item is touched

我是 iOS 编程新手,非常感谢您的帮助!

我有一个包含多个项目的标签栏。 当触摸特定的选项卡栏项目时,我希望隐藏选项卡栏,直到用户通过触摸取消按钮离开触发的视图。

类似于:self.hidesBottomBarWhenPushed = true,但不仅限于将视图控制器推送到导航堆栈时。

或者,我想在触摸这个特定的选项卡栏项目时离开栏控件,并在触摸取消按钮时返回它。

非常感谢!

您可以在触发视图控制器的 viewWillAppear 方法中隐藏标签栏:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    // without animation
    tabBarController?.tabBar.isHidden = true

    // with animation
    UIView.animate(withDuration: 0.25, animations: {
        self.tabBarController?.tabBar.alpha = 0
    }) { _ in
        self.tabBarController?.tabBar.isHidden = true
    }
}

当您想再次显示标签栏时,只需将其 isHidden 属性 设置为 false(带有可选动画)。