Gau*_*ole 1 xcode uitabbarcontroller uitabbar ios swift
Swift:我有 UITabBarController,有 8 个选项卡。当用户选择任何选项卡(包括更多选项卡)时,我想通过弹出到 rootView 控制器来重置所选选项卡的内容?
这怎么可能做到呢?
我尝试用下面的方法重置导航控制器,它适用于底部可见的选项卡,但不适用于More选项卡。
tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController)
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem)
Run Code Online (Sandbox Code Playgroud)
一个干净的方法来做到这一点:
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
let index = tabBarController.selectedIndex
if index == NSNotFound || index > 4 {
tabBarController.moreNavigationController.popToRootViewController(animated: false)
return
}
let navController = tabBarController.viewControllers?[tabBarController.selectedIndex] as? UINavigationController
navController?.popToRootViewController(animated: false)
}
Run Code Online (Sandbox Code Playgroud)
为您的 UITabViewContoller 创建一个自定义类,设置一个委托并将该段代码放在那里。
| 归档时间: |
|
| 查看次数: |
6419 次 |
| 最近记录: |