首先,我使用情节提要。我的ViewController层次结构像这样NavigationController -> SplashScreen -> LoginScreen -> MainTabBarController -> MainNavigationController -> MainViewController -> DetailViewController
。
当我单击DetailViewController
页面上的按钮时,不会返回到MainViewController
。它将转到LoginScreen
。
我在addToBasket
的{{1}}操作中尝试了此代码。
DetailViewController
这是我的@IBAction func addBasket(_ sender: Any) {
SingletonCart.sharedFood.food.append(food!)
let mainView = self.storyboard?.instantiateViewController(withIdentifier: "FoodOrder") as! MainViewController
let appDelegate = UIApplication.shared.delegate as! AppDelegate
self.navigationController?.popViewController(animated: true)
dismiss(animated: true)
}
代码,用于将loginButton
作为rootViewController。
MyTabBarController
答案 0 :(得分:0)
@IBAction func addBasket(_ sender: Any) {
SingletonCart.sharedFood.food.append(food!)
self.navigationController?.popViewController(animated: true)
}
答案 1 :(得分:0)
在您的方法中,RootViewController是“登录”屏幕的导航控制器,因此会发生此问题。
您的方法应如下:
A)NavigationController-> SplashScreen-> LoginScreen
B)MainTabBarController-> MainNavigationController-> MainViewController-> DetailViewController
用户登录后,应将B.MainTabBarController替换为window.rootViewController