Нажмите для iOS NavigationController изнутри модального представления - PullRequest
4 голосов
/ 02 ноября 2011

Я новичок в программировании на iOS, а также в Stack Overflow.Я пытался найти ответ на свой вопрос, но поиск не дал никаких результатов.

Я пытаюсь снизить поток моего приложения, но у меня возникают проблемы.Я хотел бы, чтобы это произошло:

Исходное представление (NavigationController) -> Представление поиска (модальное) -> программно выдвигает различные представления в NavigationController исходного представления, не отключая представление поиска, прежде чем отклонить представление.

Насколько я понимаю, в модальном представлении я должен быть в состоянии сделать что-то вроде

[self.parentViewController.nagivationController pushViewController: someView]

, но это совсем не работает.После отклонения модального представления я просто вернулся к исходному виду.

Я также попытался передать ссылку на контроллер навигации начального представления, но я не могу заставить эту работу работать правильно.

Так что, если кто-нибудь знает, как программно перенести представления в стек навигации из модального представления, я бы с удовольствием изучил!Я действительно начинаю думать, что мое понимание модальных представлений в корне неверно.

Заранее благодарю за любую помощь, которую вы можете оказать, а также за ваше терпение с полным новичком.

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Annnnnd, я тупой.

У меня был правильный подход, но мне потребовался день, чтобы понять, что self.parentViewController возвращает UINavigationController, поэтому дополнительный ".navigationController" был совершенно ненужным.

Правильная ссылка:

[self.parentViewController pushViewController: someView]

Спасибо за комментарий, Роб.

0 голосов
/ 14 мая 2016

parentViewController вернул ноль, но использование presentingViewController сработало. Swift 2.x:

    let vc = storyboard!.instantiateViewControllerWithIdentifier(CustomViewControllerID) as! CustomViewController
    if let navController = presentingViewController as? UINavigationController {
        navController.pushViewController(vc, animated: false)
    }
...