Как перейти к новому представлению с помощью программно созданного UINavigationController?
Я пробую много песен с этого сайта, но не получаю результата. Теперь я открываю новый вид, как это:
//(I call this code from View called MainReportView)
InfoController *info = (InfoController *)[self.storyboard instantiateViewControllerWithIdentifier:@"InfoController"];
info.login = login;
info.password = password;
[self presentViewController:info animated:YES completion:nil];
все работает хорошо, но я хочу, чтобы предыдущий просмотр был в том же состоянии, когда я вернусь к нему. Люди говорят, что используют NavigationController и нажимают на него, но это проблема. Я добавляю NavigationController в раскадровку (в MainReportView) и пытаюсь изменить код на:
[self pushViewController:info animated:YES completion:nil];
но ничего не происходит, просмотр не открыт, пожалуйста, помогите, как я могу программно в этом коде добавить NavigationController и открыть мой InfoController нажатием? Спасибо! (Я использую Xcode 5 и iOS 7 + раскадровка)
Решение - для iOS7 используйте prepareForSegue, и этот урок
2 ответа
Решение
UIStoryboard *MainStoryboard = [UIStoryboard storyboardWithName:@"Main"
bundle: nil];
InfoController *info=[MainStoryboard instantiateViewControllerWithIdentifier:@"InfoController"];
[self.navigationController pushViewController:info animated:YES completion:nil];
Вставьте новый контроллер представления в контроллер навигации следующим образом:
InfoController *info = (InfoController *)[self.storyboard instantiateViewControllerWithIdentifier:@"InfoController"];
[self.navigationController pushViewController:info animated:YES completion:nil];