Почему DetailViewController появляется на первом DetailViewController с вкладкой и контроллером навигации? - PullRequest
0 голосов
/ 02 мая 2019

imageMyCartVC, Page goes like Red arrows way. I want to go with Blue arrows way."> Прежде всего, я использую раскадровку.Моя иерархия ViewController, как это NavigationController -> SplashScreen -> LoginScreen -> MainTabBarController -> MainNavigationController -> MainViewController -> DetailViewController.

Когда я нажимаю кнопку на странице DetailViewController, она не возвращается к MainViewController.Это будет LoginScreen.

Я пробовал этот код в действии addToBasket в 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 коды для make MyTabBarController от имени rootViewController.

 @IBAction func loginButton(_ sender: Any) {
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let viewController = storyboard.instantiateViewController(withIdentifier: "MainTabBarController")
    self.window?.rootViewController = viewController
}

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

В вашем подходе RootViewController является навигационным контроллером экрана входа в систему, поэтому возникает эта проблема.

Ваш подход должен выглядеть следующим образом:

A) NavigationController -> SplashScreen -> LoginScreen

B) MainTabBarController -> MainNavigationController -> MainViewController -> DetailViewController

Когда пользователь вошел в систему, вы должны заменить ваш window.rootViewController на B) MainTabBarController

0 голосов
/ 02 мая 2019
@IBAction func addBasket(_ sender: Any) {

        SingletonCart.sharedFood.food.append(food!)
        self.navigationController?.popViewController(animated: true)

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...