UIView 的 autoresizingMask 屬性 詳解。

 在 UIView 中有一個autoresizingMask的屬性,它對應的是一個枚舉的值(如下),屬性的意思就是自動調整子控件與父控件中間的位置,寬高。

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


分別解釋以上意思。

UIViewAutoresizingNone就是不自動調整。

UIViewAutoresizingFlexibleLeftMargin就是自動調整與superView左邊的距離,也就是說,與superView右邊的距離不變。

UIViewAutoresizingFlexibleRightMargin就是自動調整與superView的右邊距離,也就是說,與superView左邊的距離不變。

UIViewAutoresizingFlexibleTopMargin 

UIViewAutoresizingFlexibleBottomMargin

UIViewAutoresizingFlexibleWidth

UIViewAutoresizingFlexibleHeight

以上就不多解釋了,參照上面的。

也可以多個枚舉同時設置。如下:

subView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin  |UIViewAutoresizingFlexibleRightMargin;

如果有多個,就用“|”關聯。

還有一個屬性就是autoresizesSubviews,此屬性的意思就是,是否可以讓其subviews自動進行調整,默認狀態是YES,就是允許,如果設置成NO,那麼subView的autoresizingMask屬性失效。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章