天天看點

iOS程式設計(雙語版) - 視圖 - 基本概念

1. 什麼是視圖?

視圖顯示為手機上的一塊矩形區域,管理該區域的所有螢幕顯示,它是UIView或者UIView的子類。

視圖既可以從xib生成,也可以用代碼生成。

2. 視窗

視窗是UIWindow或者它的子類。

視圖結構的頂層便是app的視窗。

視窗必須充滿裝置的螢幕,是以,必須設定視窗的frame為螢幕的bounds。

(稍後我會講解frame和bounds的差別)

代碼如下:

Objective-C

Swift(iOS 8)

iOS9以後代碼明顯簡化了,系統會預設将螢幕的bounds賦給視窗的frame

Swift(iOS 9)

 視窗在app的整個生命周期中存在,為了達到這個目的,app的delegate class有一個強引用(strong retain)的屬性叫做window,它永遠不會被釋放。

如何切換自定義的主視圖?

通常的做法是我們把自定義的視圖控制器賦給視窗的rootViewController屬性。

最後再通過makeKeyAndVisible方法使視圖可見。