[iOS基礎控制項 - 6.10.7] UIWindow & 程式啟動過程

來源:互聯網
上載者:User

標籤:style   blog   http   ar   io   color   os   使用   sp   

A.UIWindow概念1.繼承UIView,是一種特殊的UIView2.通常一個APP只有一個UIWindow3.iOS程式啟動後,建立的第一個視圖就是UIWindow4.沒有UIWindow,不能顯示任何東西   B.使用1.建立一個Empty Application項目沒有了storyboard,要手動實現UIWindow的建立代碼(其實這就是storyboard做的事情)
1     // 手動建立UIWindow,並加到screen上2     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];3     self.window.backgroundColor = [UIColor whiteColor];4     [self.window makeKeyAndVisible];
 2.建立一個控制器 3.把控制器的view添加到UIWindow(1)直接添加控制器的view到UIWindow
1     // 添加控制器2     ViewController *controller = [[ViewController alloc] init];3     [self.window addSubview:controller.view];
  不建議此方法,因為a.可能自訂控制器變數被銷毀之後,其view還在UIWindow中被使用,如果再使用控制器會引起崩潰b.由於沒有傳自訂控制器給UIWindow,不能處理各種相關事件(例如旋轉螢幕) (2)設定自訂控制器為UIWindow的rootViewController設定了根控制器之後,會自動把自訂控制器的view加到UIWindow
1     // 添加控制器2     ViewController *controller = [[ViewController alloc] init];3 //    [self.window addSubview:controller.view];4     self.window.rootViewController = controller;
 (3)在controller中設定狀態列可視
1 - (BOOL)prefersStatusBarHidden {2     return NO;3 }
   4.介面切換其實是不同的控制器替換到UIWindow上面改變self.window.rootViewController   

[iOS基礎控制項 - 6.10.7] UIWindow & 程式啟動過程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.