![](/img/trans.png)
[英]Multi view controller and segue navigation error message I don't understand
[英]don't understand how to use navigation controller in iphone
我对iphone非常陌生,我有以下误解。
在互联网上有关如何以编程方式使用NavigationController
的教程,它说:
NavigationController must be declared in applicationDidFinishLaunching and must be init with a root.After that you can add views to it.
我有这个:一个UIViewController
类含义( AdiViewController.h, AdiViewController.m and AdiViewController.xib)
,没有Delegate file
意味着没有applicationDidFinishLaunching
方法。
我想要做的是从我的AdiViewController
按下按钮转到另一个视图。 我知道我需要一个NavigationController
,它应该保留我的视图,拥有根AdiViewController
。
但我的问题是我应该在viewDidAppear
初始化那个NavigationController
?...因为我没有Delegate
文件。
如果你可以用我的这个小问题提供一个最小的例子,那就太棒了。我敢肯定,对于那些高级人员来说这是什么,但我仍然没有得到它。谢谢
必须在applicationDidFinishLaunching中声明NavigationController - >这不是真的。 在您的AdiViewController中,如果您按下该按钮时有按钮,您想要加载导航控制器吗?
// Hook this IBAction to your button in AdiViewController
- (IBAction)pushNavController
{
AnotherViewController* rootView = [[AnotherViewController alloc] initWithNibName:@"Anotherview" bundle:nil];
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:rootView];
[rootView release];
[self presentModalViewController:navController animated:YES];
[navController release];
}
如果你在AnotherViewController中,即你在导航控制器的根视图控制器中。 您需要从那里推送和弹出视图控制器。 例如,如果您在AnotherViewController中有一个按钮:
// push next view controller onto navigation controller's stack
- (IBAction)pushNextViewController
{
NextViewController* nextView = [[NextViewController alloc] initWithNibName:@"NextView" bundle:nil];
[self.navigationController pushViewController:nextView animated:YES];
[nextView release];
}
// Similarly if you want to go back to AnotherViewController from NextViewController you just pop that from navigation controller's stack
- (IBAction)pushNextViewController
{
[self.navigationController popViewControllerAnimated:YES];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.