インタビューで何度もこの質問をされましたが、どこでも適切な答えが得られなかったので、ついにこの質問をここに投稿しました。
あなたはこれを経験するかもしれません。
はい、複数のウィンドウを持つことができます。キーウィンドウは、ユーザー入力を受け取るウィンドウです。
ロブの答えから始めて、私は少し遊んだので、このトピックに関する情報を取得しようとしている他の人のためにいくつかのメモを書き留めたいと思います。
通常、1つのアプリケーションに必要なUIWindowは1つだけですが、1つのアプリケーションで複数のUIWindowを使用する必要があるシナリオもあります。
たとえば、システムのAlertViewsの上部にビューを表示したい場合や、デフォルトのキーボードを表示したい場合があります。
UIWindowsは特別なUIViewであり、その表示順序は.windowLevelプロパティによって制御されます。
ビューのサブビューとして新しいUIWindowを追加する必要はありません。新しいUIWindowを作成し、指定したレベルに応じて、window setHidden:NOまたはwindowmakeKeyAndVisibleのいずれかを呼び出すことができます。
3つのデフォルトのウィンドウ列挙レベルが定義されています。
もちろん、複数のウィンドウを持つことができます。ただ、一度に表示されるのは1つだけ、つまりkeyWindow
です。複数のウィンドウを配列などに格納し、それらを表示するときにkeyWindow
にすることができます。
そして、ええ、@ Mannopsonが提案したドキュメントを読んでください。それは非常に便利です。