en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

10.17.2011

關於 UIViewAutoresizing 的二三事

只要是繼承於 UIView 的物件都會有 UIViewAutoresizing 這個屬性,它的作用在於設定該物件在畫面中的相對或是絕對坐標,以及相對或是絕對大小,透過 Interface Builder 設計介面時可以在 Size Inspector 屬性頁面內找到它,如下圖。


圖中的 Autosizing 中間的箭頭線段代表設定物件水平垂直的相對或是絕對大小,外圈的線段則是代表物件的相對或是絕對坐標,使用滑鼠點選這些線段就可以立刻在 Example 視窗中檢視結果。

當然我們也可以透過程式碼來設定設些參數,其設定方法如下。

[myView setAutoresizingMask:UIViewAutoresizingNone];
檢視上述程式碼,此 UIView 在畫面中是絕對位置並且也是絕對大小,不管畫面如何選轉或是縮放,此 UIView 都過固定出現在同一個坐標上並且大小變。

此外,關於 UIViewAutoresizing 其他的參數定義與它們分別代表的位置如下。

//UIView.h

enum {
    UIViewAutoresizingNone                 = 0,
    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
    UIViewAutoresizingFlexibleWidth        = 1 << 1,
    UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
    UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
    UIViewAutoresizingFlexibleHeight       = 1 << 4,
    UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
typedef NSUInteger UIViewAutoresizing;







沒有留言:

張貼留言