iOS 6 編程 – 自動布局(Auto Layout)系列文章

來源:互聯網
上載者:User

iOS 6 在應用程式使用者介面開發中,引入了自動布局(Auto Layout)概念。自動布局使用約束(Constraint)在使用者介面描述各類別檢視的位置、行為和關係。

在Xcode 4.5中,我們可以使用Interface Builder,或者可視化格式語言(Visual Format Language),或者標準的SDK API調用(NSLayoutConstraint類)等等三種方式來建立約束(Constraint)。

Auto Layout用這些Constraints 來對所有的視圖進行一些計算,設定視圖的位置和尺寸。不再需要設定視圖的frame屬性,也就是完全基於針對視圖或元素所設定的Constraints來布局介面的視圖元素。

使用Xcode 4.5 建立App時,Auto Layout功能在所有nib或Storyboard 檔案中,預設是enable(開啟的)。具體設定的地方,可以查看之前的文章。

在iOS 6 引入自動布局之前,我們使用springs and struts模式來設計可旋轉和調整大小的使用者介面。簡單歸納和回顧一下,主要有三種方法:

1. 自動旋轉和自動調整大小

通過在Size Inspector面板中,設定各類別檢視的Autosizing屬性,無需編寫代碼,但這種僅適用於UI比較簡單的應用。

2. 調整視圖架構(frame屬性)

每一個UI 元素在螢幕上都由一個矩形地區定義,這個矩形地區就是UI 元素的frame屬性。可以使用C語言函數CGRectMake(x,y,width,height) 來重新定義視圖的frame屬性。

如果UI元素比較多,這個需要跟蹤每一個UI元素的大小和位置,代碼設計起來比較麻煩。

3. 重新設計不同的視圖-橫向和縱向視圖

在每一個情境中分別定義橫向和縱向2個視圖,這個每一個視圖都需要定義獨立的輸出口。雖然2個視圖和同一個視圖控制ViewController關聯,但是不能共用輸出口,在視圖控制器中需要互動的UI元素數量會變成 2 倍。當然優點是,不同的視圖完全獨立開了,避免相互影響。

上述三種方式在開發過程中,都存在一些缺點。iOS 6 引入的自動布局(Auto Layout)正是為了改進這個不足之處。個人覺得也可以適應之後不斷增多的不同尺寸的iPad、iPhone裝置。

 

iOS 6 編程 -- 自動布局(Auto Layout)相關文章:

iOS 6編程(15)-建立自動布局(Auto Layout)簡單應用

iOS 6編程(16)-Interface Builder自動布局功能

iOS 6編程(17)-自動布局深入示範

 

 

未完待續!! 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.