TabBar shouldSelectViewController 问题
TabBar shouldSelectViewController Issues
我正在使用 swift 附带的选项卡栏控制器模板。我已将 FirstViewController 和 SecondViewController 嵌入到导航控制器中。我添加了第三个 ViewController,它由第一个 ViewController 的 segue 访问。当我在第三个 ViewController 并点击第二个 ViewController 选项卡时,模拟器会将我带到第二个 ViewController 但当我点击第一个 ViewController 选项卡时,我'我回到了第三个 ViewController - 当我 select 它是选项卡时,我想回到第一个 ViewController。实现这个的方法是什么?搜索我认为我应该使用的文档:
func tabBarController(_ tabBarController: UITabBarController,
shouldSelectViewController viewController: UIViewController) -> Bool
Pop to root view when tab is selected。这个答案似乎是相关的。
Swift代码:
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) -> Bool {
if let viewController = viewController as? UINavigationController {
viewController.popToRootViewController(animated: false)
}
}
对于 Swift 的较新版本,委托函数应如下所示:
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
if let viewController = viewController as? UINavigationController {
viewController.popToRootViewControllerAnimated(false)
}
}
您的 class 必须与 UITabBarControllerDelegate
协议一致,并且应在加载过程中设置委托 属性。
我正在使用 swift 附带的选项卡栏控制器模板。我已将 FirstViewController 和 SecondViewController 嵌入到导航控制器中。我添加了第三个 ViewController,它由第一个 ViewController 的 segue 访问。当我在第三个 ViewController 并点击第二个 ViewController 选项卡时,模拟器会将我带到第二个 ViewController 但当我点击第一个 ViewController 选项卡时,我'我回到了第三个 ViewController - 当我 select 它是选项卡时,我想回到第一个 ViewController。实现这个的方法是什么?搜索我认为我应该使用的文档:
func tabBarController(_ tabBarController: UITabBarController,
shouldSelectViewController viewController: UIViewController) -> Bool
Pop to root view when tab is selected。这个答案似乎是相关的。
Swift代码:
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) -> Bool {
if let viewController = viewController as? UINavigationController {
viewController.popToRootViewController(animated: false)
}
}
对于 Swift 的较新版本,委托函数应如下所示:
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
if let viewController = viewController as? UINavigationController {
viewController.popToRootViewControllerAnimated(false)
}
}
您的 class 必须与 UITabBarControllerDelegate
协议一致,并且应在加载过程中设置委托 属性。