我在面试中多次被问到这个问题,搜索到的每一个地方都没有得到任何正确答案。所以最后在这里发布这个问题。
答案 0 :(得分:19)
你可以通过这个。
是的,您可以拥有多个窗口。关键窗口是接收用户输入的窗口。
从Rob的回答开始,我玩了一下,并希望为其他人写下一些笔记,试图获取有关此主题的信息:
答案 1 :(得分:2)
通常一个应用程序只需要1个UIWindow,但仍有一些情况需要在一个应用程序中使用多个UIWindow。
例如,您希望在系统AlertViews的顶部显示视图,或者可以显示默认键盘。
UIWindows是特殊的UIViews,其显示顺序由.windowLevel属性控制。
您不需要添加新的UIWindow作为任何视图的子视图。你可以简单地创建一个新的UIWindow并调用window setHidden:NO或者窗口makeKeyAndVisible取决于你给它的级别。
定义了三个默认窗口枚举级别:
答案 2 :(得分:1)
当然它可以有多个窗口。只是,一次只显示一个,即keyWindow
。您可以将多个窗口存储在数组或任何位置,并在要显示它们时使它们keyWindow
。
而且,是的,请阅读@Mannopson建议的文档,它非常有用。