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(带有可选动画)。
我是 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(带有可选动画)。