我试过Google上的每个解决方案,似乎没有任何工作。到目前为止,我已经通过App Delegate实现了一个UINavigationController,现在我想通过单击我在界面生成器中创建的UIButton来更改为WebViewController,但按钮似乎没有做任何事情我运行该应用程序。请记住,我想把它推到我的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给按钮的界面生成器。
据我所知,这通常被称为超容易,但由于某种原因,我从来没有得到它的工作。提前致谢。
编辑:我添加了保温性,sythesized它并添加到我的代码在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 2012-03-04 01:45:24
也分配的根视图控制器时,你应该使用self.window.rootViewController = navigationController而不是[self.window addSubView:navigationController.view] – richerd 2012-03-04 01:47:00
好吧,我用[self。替换了[self.window addSubView:navigationController.view]。 window.rootViewController = navigationController“,我拿出initWithNibName:@”WebViewController“bundle:NSBundle.mainBundle],但我仍然得到相同的错误。 – 2012-03-04 01:54:47