我在xib之间切换时遇到了困难:(
首先我使用的是navigationController,它运行良好,但我想在不使用navigationController的情况下完成。
我尝试过presentModalViewController,但它崩溃了我的应用程序。 :((
以下是代码:
myViewController *viewController = [myViewController alloc] initWithNibName:nil bundle:nil];
myViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController: myViewController animated:YES];
[myViewController release];
它无效,ERROR收到: GDB:程序收到信号:“EXC_BAD_ACCESS”
答案 0 :(得分:1)
myViewController *viewController = [myViewController alloc] initWithNibName:nil bundle:nil];
viewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController: viewController animated:YES];
这应该有效。你的问题是你声明了一个视图控制器并将其命名为“viewController”,但你没有使用它。您使用的是视图控制器名称,而不是声明的实例。
答案 1 :(得分:0)
您已将nibName设置为nil
输入要在其中显示的Xib文件的名称
像
myViewController *viewController = [[myViewController alloc] initWithNibName:@"nameOfYourXIB" bundle:nil]autorelease];
myViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController: myViewController animated:YES];
答案 2 :(得分:0)
从你的代码中删除release语句,一切都会正常工作。
实际上你在将视图控制器显示为超视图之前释放视图控制器。
//[myViewController release];
希望这有助于你...
答案 3 :(得分:0)
不要释放控制器它是一个全局变量,我猜想只需在dealloc中将其设为nil