为什么导航应用程序使用pushViewController
而不是像所有其他应用程序一样使用presentModalViewController
?如何修改导航应用程序以替代使用presentModalViewController
?这样做会不是最理想的?为什么?pushViewController和导航应用程序?
回答
导航视图控制器和模态视图控制器有不同的用途。第一个用于显示分层嵌套内容。虽然您要求更详细的项目信息,但您可以更深入地了解堆栈中更详细的视图。
模态视图用于在当前只显示一个视图。它适用于像你的应用程序的信息按钮的东西。
我可以比使用模态视图的一个视图更深入。 – 2010-09-18 03:22:26
但它并不意味着你应该 – 2010-09-19 00:23:53
有没有理由你不应该? – 2010-09-20 08:06:53
你的问题有点像是问为什么UISplitViewControllers
使用两个控制器并排列他们的观点。也就是,UINavigationControllers
使用pushViewController:
来管理他们的UIViewController
实例栈,因为这是Apple如何决定UINavigationControllers
应该如何工作。当动画进入视图时,推送的视图将从右侧滑入,当视图弹出时,旧视图从左侧滑入。
一个UIViewController
的任何实例可以使用presentModalViewController
于其中防止用户用下面的视图交互的方式在它自己的视图的顶部显示的另一个UIViewController
的图。根据设备(iPhone,iPad)的不同,您可以选择新显示视图的视觉外观以及用于查看视频的动画。
没有什么能够阻止你编写一个应用程序,该应用程序只保留一个视图,使用presentModalViewController
调出下一个视图,但没有理由使用UINavigationController
这样做。我从来没有检查过内存消耗是否有意义的差异,也没有其他可以衡量的事情来判断从技术角度来看这样做是否“次优”,但这肯定不是标准,因此可能不是最优的用户体验视角。对于你的应用来说,这是否正确取决于用户是否认为交互对他们有意义。
导航视图控制器使用Stack.Your导航的概念是存储在堆栈,这就是为什么你可以把&弹出查看这表明你可以用它们的详细视图....制作的观点
层次而模态视图控制器一次只显示一个视图......这通常用于应用程序中的新流程。
- 1. 用UIWebView和UITableView导航应用程序
- 2. 结合TabBar和导航栏如何pushViewController?
- 3. 导航控制器:pushViewController
- 4. SL'Composite'导航应用程序
- 5. Spotify应用程序导航
- 6. Silverlight导航应用程序
- 7. 使用React-Native导航应用程序
- 8. TabBar应用程序或导航栏应用程序?
- 9. pushViewController不能用tabbar和导航条显示UIView/Nib
- 10. Android应用程序导航|自定义导航
- 11. Silverlight导航应用程序中的导航历史记录
- 12. 导航到不同的视图 - pushViewController
- 13. PushViewController导航到下一个堆栈
- 14. 更改pushViewController上的导航栏:
- 15. iphone - 导航栏应用程序崩溃
- 16. iOS 3D室内导航应用程序
- 17. 代表应用程序导航
- 18. 基于iPad导航的应用程序
- 19. Web应用程序的导航抽屉
- 20. Windows 8应用程序导航设计
- 21. Android方式导航应用程序
- 22. 在应用程序中导航
- 23. Silverlight导航应用程序中的Tabcontrol
- 24. 导航应用程序 - 后退按钮
- 25. 导航基于MVVM的应用程序
- 26. Square connect API - 导航回应用程序
- 27. Android:从Webview导航到应用程序
- 28. 基于导航的iphone应用程序
- 29. 在Silverlight应用程序中导航
- 30. 导航在iPhone应用程序中
什么是downvote? – 2010-09-20 12:35:19