我想知道presentModalViewController和navigationController
[self presentModalViewController:controller animated:YES];
和
[self.navigationController pushViewController:controller animated:YES];
我都用了,但仍然不知道或注意到的差异之间的差异。何时应该使用其中之一?
谢谢..
我想知道presentModalViewController和navigationController
[self presentModalViewController:controller animated:YES];
和
[self.navigationController pushViewController:controller animated:YES];
我都用了,但仍然不知道或注意到的差异之间的差异。何时应该使用其中之一?
谢谢..
呈现模态的视图被呈现于另一视图的顶部的视图。您通常执行那些需要以独立方式启动和完成的“任务”。阅读苹果开发者指南上的模态视图。
在应用程序中存在导航的逻辑需求时,将导航视图添加到导航控制器是不同的。请在iDevices的设置应用程序中向下钻取表格,其中有主要设置,然后深入到子设置等。
无论您的问题是什么,如果它们是概念性和泛型的,我强烈建议你到google了“X编程指南”将带你到正确的苹果的编程指南:) X =视图控制器,你的情况
基本区别:
pushViewController
只能在个导航控制器
presentModalViewController
作品所有视图控制器
navigationController是你UINavigationController
,这是在你的导航堆栈(UIViewController
)用于所有的控制器的实例。
如果基类有它自己的NavigationController那么你可以这样写:
[self.navigationController pushViewController:objMyViewController animated:YES];
如果你的基类只有UIViewController的再使用:
MyViewController * objMyViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
UINavigationController * navController = [[UINavigationController alloc] initWithRootViewController:objMyViewController];
navController.navigationItem.leftBarButtonItem = nil; // make nil if you want
// to use it in next View
[self presentModalViewController:navController animated:YES];
现在,MyViewController有导航,所以你可以 - 通过在MyViewController中编写函数,可以推送另一个viewController。
-(IBAction)btnNext_click {
SecondViewController * objSecondViewController = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
[self.navigationController pushViewController:objSecondViewController animated:YES];
}
但第二个视图将显示在模态视图控制器后面 – 2cupsOfTech 2013-07-11 07:06:47
Apple开发者文档摘要:通常,应用程序使用模态视图控制器作为临时中断,以便从用户获取关键信息。导航控制器用于管理分层数据的表示。或者是你的问题“幕后发生了什么?” – wegginho 2011-04-20 09:52:15
所以我可以说,如果我想显示当前的不同视图,并返回到当前视图,那么我应该使用presentModalViewController? – Maulik 2011-04-20 10:17:40
如果不同意味着“你想用这张图片做什么? - >上传 - >删除 - >取消”这个问题,那么在你回到你的照片后,是的。 – wegginho 2011-04-20 10:21:12