2013年4月16日 星期二

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屬性失效。

沒有留言:

張貼留言