iOS9 Programming - UIWindow

近期在工作中遇到了很多問題,總結(jié)起來還是因?yàn)樽约杭夹g(shù)薄弱,作為一個(gè)上進(jìn)的程序媛,實(shí)在受不了自己落后。我家三石君建議我好好看看《iOS9 programming》這本書,花三個(gè)月的時(shí)間把這本書完全吃透讀通我的技術(shù)將會有質(zhì)得飛躍。雖然去年就曉得并入手了該書,但由于自己的懶惰一直沒有好好看。幸好最近受了點(diǎn)打擊,打算從第一章開始好好研讀一下,并且對每個(gè)章節(jié)都挑出重點(diǎn)總結(jié)筆記,也算是對自己的一個(gè)監(jiān)督。如果大家看到有錯(cuò)誤的地方歡迎指正,共同進(jìn)步

Windows

window 是視圖層級中的最高層級,app中只能有一個(gè)唯一并且確定的main Window,它用來容納之后的所有視圖,window會在加載的時(shí)候創(chuàng)建并且不會被銷毀或替代,它是最終的superview,你看到的其他可見視圖都是它的子類,存在在不同的層級深度中


app中的window必須要填充滿整個(gè)設(shè)備屏幕。如果你使用的是storyboard,系統(tǒng)將會通過UIApplicationMain方法在app加載的時(shí)候?yàn)槟阍O(shè)置好window的frame,如果你是手寫代碼,則必須要手動(dòng)創(chuàng)建window并為其設(shè)置window的frame let w = UIWindow(frame:UIScreen.mainScreen().bounds)
在iOS9中UIWindow沒有frame,屏幕的bounds將會被設(shè)置為window的frame
let w = UIWindow()


在app運(yùn)行過程中,可以通過以下幾種方法獲取widow的引用:

  • 如果一個(gè)View是可見的,它會通過自己的window屬性來自動(dòng)的引用window,你也可以使用UIView的window屬性來詢問它是否最終要嵌入在window中,如果不是的話,則window屬性則會置為nil,一個(gè)View的window屬性為nil,將對用戶不可見
  • app的delegate中通過window屬性存在一個(gè)對widow的引用,你可以在任何地方通過獲取sharApplication的delegate屬性來得到windows的引用。
let w = UIApplication.shareApplication().delegate!.window!!  
  • 通過shareApplication的dkeyWindow屬性,我們也可以獲得window的引用
let w = UIApplication.shareApplication().keyWindow!

這種引用方法不是很確定,因?yàn)橄到y(tǒng)可以創(chuàng)建臨時(shí)的window并且將它們插入到application的keywindow中去。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述 UIView或者它的子類知道怎樣將自己繪制在一個(gè)矩形區(qū)域中。我們app所有可視的的界面來自于視圖。創(chuàng)建和配置...
    smalldu閱讀 1,003評論 0 6
  • UIWindow是Cocoa框架的重要組件之一,所有的UIView都要通過UIWindow來進(jìn)行展現(xiàn),沒有UIWi...
    文興閱讀 5,091評論 3 33
  • UIWindow 簡介 一個(gè)UIWindow對象為應(yīng)用程序的用戶界面提供了背景以及重要的事件處理行為。UIWind...
    ripperhe閱讀 23,819評論 24 58
  • 2018.01.20 堆棧原理:問題描述編程語言書籍中經(jīng)常解釋值類型被創(chuàng)建在棧上,引用類型被創(chuàng)建在堆上,但是并沒有...
    深眸靈瞳閱讀 628評論 0 1
  • Today's topic is technology.only the best person can read...
    左神話閱讀 1,138評論 7 0

友情鏈接更多精彩內(nèi)容