При отклонении контроллера представления выведите меня на контроллер rootview - PullRequest
0 голосов
/ 28 февраля 2020

Итак, моя проблема заключается в том, чтобы закрыть представленный контроллер представления, но не стек навигации. Я проверил стек навигации до и после отклонения Иерархия является контроллером вкладок -> SettingController -> ItemListController -> AddItemController в addItem представляет контроллер галереи, а после отклонения стека навигации контроллера галереи получают nil

  let gallery = GalleryController()
    gallery.delegate = self
    present(gallery, animated: true, completion: nil)

и код отклонения -

controller.dismiss(animated: true, completion: nil)

, где код моей вкладки -

  self.viewControllers = [createLiveOrder(), createFeed(), createHistoryController() ,createSettingController()]

. Создайте такой контроллер для вкладки, где идентификатором является контроллер вида навигации

func createSettingController() -> UIViewController {
        let storyBoard = UIStoryboard(name: StoryBoard.setting.rawValue, bundle: nil)
        let vc = storyBoard.instantiateViewController(withIdentifier: Controller.initController.rawValue)
        vc.tabBarItem = setting
        return vc
    }
* 1012. * Но когда я установил раскадровку на работу нормально (я беру вкладку veiw controller на другой раскадровке и модуль настройки на другой раскадровке)

1 Ответ

0 голосов
/ 29 февраля 2020

Я не знаю основной причины этого. Но из назначенного массива viewController в viewWillAppear подкласса UITabController не сработало. но когда я из контроллера StoryBoard справка из раскадровки работает нормально для .eg

Проблема создания кода составляет

self.viewControllers = [createLiveOrder(), createFeed(), createHistoryController() ,createSettingController()

, где создан и назначен каждый контроллер

func createSettingController() -> UIViewController {
    let storyBoard = UIStoryboard(name: StoryBoard.setting.rawValue, bundle: nil)
    let vc = storyBoard.instantiateViewController(withIdentifier: Controller.initController.rawValue)
    vc.tabBarItem = setting
    return vc
}

на том же контроллере Assing из раскадровки работает нормально

Примечание: - делегаты раскадровки назначаются в подклассе

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