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

У меня есть последовательность раскадровки следующим образом.

Контроллер SplashView> Контроллер навигации> Контроллер таблицы

Как мне написать код, чтобы при нажатии кнопки в SplashViewController я был перенаправлен на TableViewController С панелью навигации. Потому что в настоящее время, когда я кодирую, я думаю, что я напрямую связываюсь с TableView, а не с NavigationController, поэтому панель навигации не отображается. Я знаю, что в раскадровке все, что мне нужно сделать, это использовать «модальный», щелкнуть и указать на навигационный контроллер. но как я могу добиться этого с помощью кодирования.

Ребята, нужны коды?


person Hexark    schedule 20.04.2012    source источник
comment
Попробуйте поместить все под NavigationController, он должен автоматически предоставить вам NavigationBar. NavigationController › SplashViewController › TableViewController   -  person RJ Hill    schedule 20.04.2012
comment
Ну, вы всегда можете использовать метод делегата и включать/отключать кнопку в зависимости от того, были ли собраны сетевые данные, а затем, если кнопка включена, она создает переход к другому ViewController.   -  person RJ Hill    schedule 21.04.2012
comment
@RJHill Это то, что я делаю, а это не то, что мне нужно .. Мне нужно, чтобы это автоматически направлялось БЕЗ кнопки. Спасибо   -  person Hexark    schedule 23.04.2012


Ответы (1)


В основном то, чего я хотел добиться, было похоже на экран загрузки-заставки. У меня есть метод делегата, который получает сигнал от другого класса, когда он собирает данные из сети. Кому интересно делать сплеш таким образом, ниже ответ.

-(void) receivedData{

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];
UINavigationController *secondView = [storyboard instantiateViewControllerWithIdentifier:@"NavigationController"];
[self presentModalViewController:secondView animated:YES];
}

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

 -viewDidAppear()

и запускайте свои коды внутри viewDidAppear

person Hexark    schedule 23.04.2012