Представление контроллера навигации на контроллере представления из раскадровки

В моем приложении у меня есть раскадровка с начальным контроллером представления как X, а затем у меня есть контроллер навигации, к которому через segue подключено несколько контроллеров представления, но между ViewController x и этим контроллером навигации нет связи.

Теперь, основываясь на нажатии кнопки в контроллере просмотра x, я хочу представить этот навигационный контроллер.

Я делаю это:

func showDashBoard()
    {
        let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

        let next = storyBoard.instantiateViewControllerWithIdentifier("navigation") as! EBNavigationController

        self.presentViewController(next, animated: true, completion: nil)
    }

Таким образом, представление навигации представляется с помощью контроллера корневого представления, но оно не показывает мне анимацию, а также я получаю предупреждение «Попытка представить, чье представление не находится в иерархии окон!» Может кто-нибудь, пожалуйста, помогите мне выяснить, что это лучший способ сделать это.

Спасибо,


person Ashutosh    schedule 26.06.2015    source источник


Ответы (1)


Проблема с анимацией может быть исправлена ​​с помощью next.modalPresentationStyle и next.modalTransitionStyle. Найдите перечисления для возможных значений и дайте ему то, что вы хотите. Обычно вы получаете «Попытка представить, чье представление не находится в иерархии окон!» ошибки при вызове этой функции до полной загрузки представления. Например, если вы вызываете его в методе viewDidLoad. Вы должны вызывать его только после вызова viewDidAppear.

person Manav Gabhawala    schedule 02.07.2015