Как перейти от контроллера представления панели вкладок к другому представлению, которое является дочерним по отношению к контроллеру навигации - PullRequest
0 голосов
/ 04 апреля 2020

Я выложил свой домашний экран (сводный экран), как показано на скриншоте ниже:

enter image description here

Я добавил кнопку «+» на UITabBarController подкласс. Эта кнопка перейдет к контроллеру представления и покажет его модально. Чтобы дать вам немного контекста о том, как я структурировал свои раскадровки, см. Скриншот ниже:

enter image description here

Этот контроллер модального представления имеет формы, которую пользователь должен заполнить, и как только они закончат, есть кнопка «Готово», которая 1) откажется от модального режима, 2) вернет их обратно к представлению root, которое является либо вкладкой «Сводка», либо затем на вкладке «Сведения» 3) переведите их в представление списка, показывающее самые последние данные, которые они ввели в список (представление назначения - выделено красным).

Теперь приступим к переходу, когда пользователь нажимает кнопка «+» достаточно проста. Со следующим кодом: "

menuButton.addTarget(self, action: #selector(menuButtonAction(sender:)), for: .touchUpInside)

затем

func addNewExpense(action: UIAlertAction){
    self.performSegue(withIdentifier: "segue_formModal", sender: self)
}

На модале я установил протокол, который затем отправит данные формы обратно в контроллер представления вкладок.

extension XtabBarViewController: NewInfoDelegate{
func newInfoSubmitted(formData: FormData) {
    performSegue(withIdentifier: "segue_ListingPage", sender: self)
}

}

Но кажется, что выполнение выполнения не работает. Он говорит, что переход не существует. "segue_ListingPage" - это переход, который соединяет представление Сводка и представление назначения.

Как перейти от контроллера представления панели вкладок к представлению назначения? Любая помощь приветствуется.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020

Я понял это самостоятельно. Для тех, кто сталкивается с той же проблемой, вот мое решение.

Я просто добавил код из контроллера панели вкладок, код:

    let childVC = children[0].children[0]
    childVC.performSegue(withIdentifier: "segue_TXListPage", sender: self)

Так что я сделал здесь вызовите executeSegue от контроллера представления, который переходит к контроллеру назначения.

0 голосов
/ 04 апреля 2020

Вы можете просто сделать контроллер вида навигации точкой входа.

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