轉載自:liubo0_0的專欄 連結網址:http://blog.csdn.net/liubo0_0/article/details/7085935
在 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屬性失效。