您好,登錄后才能下訂單哦!
學(xué)習(xí)iOS培訓(xùn),首先要掌握好技術(shù)代碼,要非常熟練的獨(dú)立完成上千行的代碼編寫,成為iOS開(kāi)發(fā)界的牛人,介于牛A與牛C之間,成為每個(gè)企業(yè)都值得青睞的對(duì)象。今兒主要為大家講解一下UIWindow的作用。
和MacOSX的應(yīng)用程序不一樣的地方,iPhone一般情況下只有一個(gè)窗口,表示為一個(gè)UIWindow類的實(shí)例。
您的應(yīng)用程序在啟動(dòng)時(shí)創(chuàng)建這個(gè)窗口(或者從nib文件進(jìn)行裝載),并往窗口中加入一或多個(gè)視圖,隨后顯示出來(lái)。窗口顯示后,一般情況下不會(huì)再引用它了。
在iPhoneOS中,窗口對(duì)象并沒(méi)有像關(guān)閉框或標(biāo)題欄這樣的視覺(jué)裝飾,用戶不能直接對(duì)其進(jìn)行關(guān)閉或其它操作。所有對(duì)窗口的操作都需要通過(guò)其編程接口來(lái)實(shí)現(xiàn)。應(yīng)用程序可以借助窗口對(duì)象來(lái)進(jìn)行事件傳遞。窗口對(duì)象會(huì)持續(xù)跟蹤當(dāng)前的第一響應(yīng)者對(duì)象,并在UIApplication對(duì)象提出請(qǐng)求時(shí)將事件傳遞它。
另外,在MacOSX中,NSWindow的父類是NSResponder;而在iPhoneOS中,UIWindow的父類是UIView。因此,窗口在iPhoneOS中也是一個(gè)視圖對(duì)象。無(wú)論起源是怎樣的,一般情況下都可將iPhoneOS上的窗口和MacOSX的窗口同樣對(duì)待。意思就是,您通常不必直接操作UIWindow對(duì)象中與視圖有關(guān)的屬性變量。
在創(chuàng)建應(yīng)用程序窗口時(shí),您應(yīng)該總是將其初始的邊框尺寸設(shè)置為整個(gè)屏幕的大小。如果您的窗口是從nib文件裝載得到,InterfaceBuilder并不允許創(chuàng)建比屏幕尺寸小的窗口;然而,如果您的窗口是通過(guò)編程
方式創(chuàng)建的,則必須在創(chuàng)建時(shí)傳入期望的邊框矩形。除了屏幕矩形之外,沒(méi)有理由傳入其它邊框矩形。屏幕矩形可以通過(guò)UIScreen對(duì)象來(lái)取得,具體代碼如下所示:
雖然iPhoneOS支持將一個(gè)窗口疊放在其它窗口的上方,但是您的應(yīng)用程序永遠(yuǎn)不應(yīng)創(chuàng)建多個(gè)窗口。系統(tǒng)自身使用額外的窗口來(lái)顯示系統(tǒng)狀態(tài)條、重要的警告、以及位于應(yīng)用程序窗口上方的其它消息。假如你也希望自己的內(nèi)容上方出現(xiàn)警告的話,那么,用UIKit提供的警告視圖,而不應(yīng)創(chuàng)建額外的窗口。
今天就講到這,這一篇有關(guān)UIWindow的作用介紹不知道你看懂了沒(méi),即使沒(méi)看懂也沒(méi)關(guān)系,慢慢來(lái),學(xué)習(xí)iOS開(kāi)發(fā)本來(lái)就不是一件容易的事,是經(jīng)過(guò)一點(diǎn)點(diǎn)的積累,最終才成為高端的IT人才的。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。