按钮操作之间切换xibs

时间:2010-10-25 09:32:47

标签: iphone xcode

我在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”

4 个答案:

答案 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