当我切换到 TabBarController 内的另一个 ViewController 时,后退按钮不起作用
Back Button Doesn't Work When I switched to another ViewController inside of TabBarController
当我切换到 TabBarController 中的另一个 ViewController 并尝试返回时,后退按钮不起作用。
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let detailVC = NewDetailController()
navigationController?.pushViewController(detailVC, animated: true)
}
我认为问题出在我创建 detailVC 的方式上。但不确定出了什么问题。
正在创建 TabBarController:
class MainTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
// New View Controller
let newController = NewController()
let newNavController = UINavigationController(rootViewController: newController)
viewControllers = [newNavController]
} }
在 AppDelegate 中将 UITabBarController 设置为初始值:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
let mainVC = MainTabBarController()
window?.rootViewController = UINavigationController(rootViewController: mainVC)
return true
}
BackButton which doesn't work
在我将 UITabBarController 设置为我的 rootVC 之前一切正常。
PS:我没有使用故事板。一切都以编程方式完成。
哦好吧
感谢穆罕默德,他给了我一个关键点。
问题是我将我的 TabBarController 嵌入到 AppDelegate 中的 UINavigationController 中。
当我删除 UINavigationController 时一切正常!
let mainVC = MainTabBarController()
window?.rootViewController = mainVC
当我切换到 TabBarController 中的另一个 ViewController 并尝试返回时,后退按钮不起作用。
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let detailVC = NewDetailController()
navigationController?.pushViewController(detailVC, animated: true)
}
我认为问题出在我创建 detailVC 的方式上。但不确定出了什么问题。
正在创建 TabBarController:
class MainTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
// New View Controller
let newController = NewController()
let newNavController = UINavigationController(rootViewController: newController)
viewControllers = [newNavController]
} }
在 AppDelegate 中将 UITabBarController 设置为初始值:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
let mainVC = MainTabBarController()
window?.rootViewController = UINavigationController(rootViewController: mainVC)
return true
}
BackButton which doesn't work
在我将 UITabBarController 设置为我的 rootVC 之前一切正常。
PS:我没有使用故事板。一切都以编程方式完成。
哦好吧 感谢穆罕默德,他给了我一个关键点。
问题是我将我的 TabBarController 嵌入到 AppDelegate 中的 UINavigationController 中。
当我删除 UINavigationController 时一切正常!
let mainVC = MainTabBarController()
window?.rootViewController = mainVC