后退按钮不起作用当我切换到TabBarController里面的另一个ViewController

问题描述:

后退按钮不起作用当我切换到另一个TabBarController内部的ViewController并试图返回时。后退按钮不起作用当我切换到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] 
} } 

设置的UITabBarController作为初始中的AppDelegate:

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:我没有使用故事板。一切都以编程方式完成。

+0

分享一些更深的见解plz – Mukesh

+0

当你说“不起作用”时,你是什么意思。什么都没有发生? –

+0

是的。什么都没发生。 –

Ohh Well 感谢*,他给了我一个关键点。

问题是我将TabBarController嵌入到AppDelegate的UINavigationController中。

当我删除UINavigationController时,一切都很好!

let mainVC = MainTabBarController() 
    window?.rootViewController = mainVC