作者:Mitchell
一、 簡介
- 每個應用程序至少需要一個窗口,一個UIWindow類的實例,起哄的一些包含不止一個窗口,一個窗口對象有許多的職責:
- 包含了應用可見的內容
- 它在對你的視圖和其他應用對象分發(fā)點擊事件上扮演了重要角色
- 它協(xié)助你應用程序的試圖控制器去確定方向的改變
- iOS中,窗口沒有文字標題,關閉的盒子和其他可見的裝飾品。一個窗口僅僅是一個包含了一個或者多個視圖的黑色包含物。另外,應用程序不通過展示新的窗口來改變它們所展示的內容。當你想要去改變展示的內容的時候,你應該改變你最上面的視圖而不是去改變窗口。
- 大多數(shù)iOS應用僅僅在它們的生命周期內創(chuàng)建或使用一個窗口。這個窗口橫跨了整個設備的主屏幕,并且在應用生命周期的早期被main的nib文件讀取或者代碼創(chuàng)建。然而,如果一個程序支持一個額外的視頻展示,它能夠創(chuàng)建一個額外的窗口去展示額外的內容。所有其他的窗口都是被系統(tǒng)創(chuàng)建的,而且都是為了應對特殊的事件,比如接入了一個電話。
二、 程序中一般那些是窗口的控件
- 狀態(tài)欄
- 注意:如果打印application.windows是無法狀態(tài)欄的窗口的,因為狀態(tài)欄的窗口是不歸我們的應用所有。
- 鍵盤
三、窗口的優(yōu)先級
- 我們可以通過設置窗口的windowLevel來設置窗口的優(yōu)先級,也就是誰上誰下的關系,優(yōu)先級如下:
UIWindowLevelAlert > UIWindowLevelStatusBar > UIWindowLevelNormal