提问人:Louiza A 提问时间:6/8/2023 更新时间:6/8/2023 访问量:34
当我按下已选择的 Tab 键时防止屏幕更改
Prevent screen change when I press tab which is already selected
问:
我有一个带有 4 个选项卡的 CustomTabBarController。当我在第三个选项卡中时,假设我有一个名为 A 的屏幕,并且我有一个按钮,可以将我带到第二个名为 B 的屏幕。因此,当我在屏幕 B 上并按下第 3 个选项卡时,我想留在屏幕 B 上。当前的应用行为是,当我在屏幕 B 上并按下第 3 个选项卡时,应用将导航到屏幕 A。
你知道如何解决这个问题吗?
答:
1赞
clawesome
6/8/2023
#1
在子类中继承协议,在将控制器的委托设置为 .然后,如果电流等于传入的视图控制器,则重写返回的方法。CustomTabBarController
UITabBarControllerDelegate
viewDidLoad()
self
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool
false
selectedViewController
class CustomTabBarController: UITabBarController, UITabBarControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
}
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
if selectedViewController == viewController {
return false
}
return true
}
}
评论