我有一个UINavigationController,每个视图都有UINavigationBar中的三个视图和相关按钮。由于我是XCode的新手,我试图了解在哪里放置事件处理代码来管理视图之间的切换。
查看A(根)
转到视图B(按钮)
查看B
后退(按钮)到视图C(按钮)
查看C
后退(按钮)
我看到如何在单击“Goto View B”时捕获事件,但由于该按钮是在View A中创建的,因此它无法访问UINavigationController来切换视图。
赞赏其他信息的任何样本或链接。
答案 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];