如何管理UINavigationController视图中的事件以切换视图?

时间:2011-04-07 23:23:03

标签: xcode ios uinavigationcontroller

我有一个UINavigationController,每个视图都有UINavigationBar中的三个视图和相关按钮。由于我是XCode的新手,我试图了解在哪里放置事件处理代码来管理视图之间的切换。

查看A(根)

转到视图B(按钮)

查看B

后退(按钮)到视图C(按钮)

查看C

后退(按钮)

我看到如何在单击“Goto View B”时捕获事件,但由于该按钮是在View A中创建的,因此它无法访问UINavigationController来切换视图。

赞赏其他信息的任何样本或链接。

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题,请查看:

UINavigationControllerDelegate:http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationControllerDelegate_Protocol/Reference/Reference.html

UINavigationBarDelegate:http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationBarDelegate_Protocol/Reference/Reference.html

如果你只是想使用navigationController推送一个新视图,它就像这样简单(在GoToViewB按钮/动作中):

YourNewViewController *yourNewViewController = [[YourNewViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:yourNewViewController animated:YES];
[yourNewViewController release];

现在你应该进入你的newViewController,它将有一个后退按钮返回上一个视图。您可以使用与上面相同的逻辑转到下一个视图等。如果要以编程方式弹出控制器,可以使用:

[self.navigationController popViewControllerAnimated:YES];