iPhone UINavigation 控制器问题?

Posted

技术标签:

【中文标题】iPhone UINavigation 控制器问题?【英文标题】:iPhone UINavigation Controller issue? 【发布时间】:2010-04-07 22:27:13 【问题描述】:

我有 3 个不同的 xib。我可以使用以下代码在视图 1 和视图 2 之间来回切换...

这段代码带来了第二个视图...

-(IBAction)startButtonClicked:(id)sender

    self.gamePlayViewController = [[GamePlayViewController alloc] initWithNibName:@"GamePlayViewController" bundle:nil];
    [self.navigationController pushViewController:gamePlayViewController animated:YES];
    [GamePlayViewController release];



此代码在第二个视图中执行并将我带回到第一个视图...

-(IBAction)backButtonClicked

[self.navigationController popViewControllerAnimated:YES];

现在,当我尝试执行此代码(在第二个视图中)以进入第三个视图时...我收到 SIGABRT 并且应用程序崩溃...为什么它在第一个视图中显示第二个视图时有效,但不是第二个视图会调出第三个视图?

-(IBAction)nextView

self.thirdViewController = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil];
        [self.navigationController pushViewController:thirdViewController animated:YES];
        [thirdViewController release];


【问题讨论】:

【参考方案1】:

ThirdViewController.xib 中可能有一些您忘记配置或配置错误的对象或插座。比较和对比 ThirdViewController.xib 和 GamePlayViewController.xib,密切注意您如何配置 ThirdViewController.xib 的类名和出口。特别是:

    确保您的文件所有者正确设置为 ThirdViewController。 确保文件所有者的视图出口正确连接到其视图。

【讨论】:

以上是关于iPhone UINavigation 控制器问题?的主要内容,如果未能解决你的问题,请参考以下文章

设置 UINavigation 控制器和各种视图加载

UINavigation 控制器 UIViewController 和 UItoolbar 作为子视图问题

UINavigation 控制器和委托[关闭]

来自 ViewController 的 UINavigation 控制器

关闭 UIAlertController 时调用 UINavigation 的 dismissViewControllerAnimated 方法

UINavigation 控制器:以编程方式呈现和关闭