Я пробовал каждое решение в Google и ничего не работает. До сих пор я реализовал UINavigationController с делегатом приложения, теперь все, что я хочу выполнить, меняется на WebViewController, щелкнув UIButton, который я создал в построителе интерфейса, но кнопка, похоже, ничего не делает, когда Я запускаю приложение. Имейте в виду, что я хочу это push к моему WebViewController вид.Перемещение от одного взгляда к другому через UIButton (UINavigationController)
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
[self.window addSubview:navigationController.view];
[self.window makeKeyAndVisible];
return YES;
}
ViewController.m
- (IBAction)createFile:(id)sender {
WebViewController *webViewController = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:NSBundle.mainBundle];
[self.navigationController pushViewController:webViewController animated:YES];
}
Примечание: В интерфейсе строитель я уже подключен CreateFile к кнопке.
Я понимаю, что это обычно что-то, что называется супер легким, но по какой-то причине я так и не получил его на работу. Заранее спасибо.
EDIT: Я добавил удерживающее имущество, синтезированный его и добавил к моему коду в файле ViewController.m:
WebViewController *webViewController = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:NSBundle.mainBundle];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:webViewController];
[self.navigationController pushViewController:webViewController animated:YES];
Но теперь приложение падает на кнопку мыши и возвращается с SIGABRT: «Раздвигая тот же экземпляр вид контроллера больше, чем когда-то не поддерживается (WebViewController: 0x1ed70e80)»
Теперь вы проталкиваете один и тот же вид в одном навигационном стеке дважды. ваш метод init использует webViewController как rootViewController, а затем вы пытаетесь снова нажать тот же webViewController. – richerd
также при назначении контроллера корневого представления вы должны использовать self.window.rootViewController = navigationController вместо [self.window addSubView: navigationController.view] – richerd
Хорошо, я заменил [self.window addSubView: navigationController.view] на «self». window.rootViewController = navigationController ", и я достал initWithNibName: @" WebViewController ": NSBundle.mainBundle], но я все равно получаю ту же ошибку. –