我想学习的是窗口和viewcontroller之间的区别。我知道你每个应用只能有一个窗口。但是你可以有多个视图控制器。当我根据基于窗口的应用程序模板创建一个项目时,我只获得一个窗口。我可以创建自己的视图控制器,但是我也知道,我可以直接将事情放在基于窗口的应用程序的窗口中(如果我错了,我认为正确)。但是对于基于视图的应用程序,我当然会看到我可以添加内容。任何人都可以澄清任何这个对我来说,如果我有任何意义?窗口和ViewController之间的区别
1
A
回答
1
基本上,您有一个UIWindow
的实例,它将托管所有UIViewControllers
和UIViews
作为视图层次结构的一部分。这就是为什么UIApplication
拨打[UIApplication sharedApplication].keyWindow
来访问“root”视图。
因此,例如,你可以有以下堆栈:
[UIApplication sharedApplication].keyWindow
- > MyView
- > MyOtherViewController
欲了解更多信息,请阅读了开发者文档上UIWindow和UIViewController它提供一个很好的解释差异。
0
他们是两个完全不同的东西。窗口是一个特殊的视图,主要是因为它没有超视图;它是容纳所有其他视图的容器。由于其在视图控制树根部的位置,窗口有助于将事件分派到适当的视图并根据需要重新绘制。除此之外,窗口并不担心它包含的视图太多。
视图控制器根本不是视图。它是一个管理视图及其所有子视图的控制器。视图控制器通常响应来自控件的用户输入,使用他们需要的数据填充视图,管理子视图的可见性等。当视图控制器处于活动状态时,视图控制器管理的视图将安装在窗口中,但视图控制器通常不直接引用窗口本身。
相关问题
- 1. TCP - 拥塞窗口和接收窗口之间的区别
- 2. 子窗口和后代窗口之间有什么区别?
- 3. 弹出窗口和弹出窗口之间有什么区别?
- 4. 窗格和组之间的区别
- 5. 在数组的窗口上pandas rolling_std和np.std之间的区别
- 6. 命令窗口和立即窗口之间的实际区别是什么?
- 7. [[[[[UIApplication sharedApplication]委托]窗口]和[[UIApplication sharedApplication] .keyWindow之间的区别?
- 8. 定义动作窗口时view_type和view_mode之间的区别?
- 9. Chrome弹出窗口和面板之间的区别
- 10. 文档和窗口之间有什么区别
- 11. 之间的〜/和的区别../
- 12. Pop和Push ViewController的区别
- 13. '#','%'和'$'之间的区别
- 14. {!!之间的区别!!}和{{}}
- 15. '+ ='和'= +'之间的区别?
- 16. “。+”和“。+?”之间的区别
- 17. .eq之间的区别。和==
- 18. #。/和#之间的区别。 ./
- 19. !=和!之间的区别==
- 20. “%〜dp0”和“。\”之间的区别?
- 21. | =和^ = css之间的区别
- 22. 之间的区别。和#
- 23. ==和case之间的区别?
- 24. “**/* /”和“** /”之间的区别?
- 25. jQuery - '。'之间的区别和“#”
- 26. “?1”和“?”之间的区别
- 27. `%in%`和`==`之间的区别
- 28. fmod和%之间的区别
- 29. 之间的区别:+和:+
- 30. winforms,web窗体和windows窗体之间的区别