- (void)viewDidLoad { [super viewDidLoad]; // 左上角 // 固定左邊和上邊,伸縮右邊和下邊 self.leftTop.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; // 左下角 // 固定左邊和下邊,伸縮右邊和上邊 self.leftBottom.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; // 右上角 // 固定右邊和上邊,伸縮左邊和下邊 self.rightTop.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; // 右下角 // 固定右邊和下邊,伸縮左邊和上邊 self.rightBottom.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; }
關於ios的控件的AutoresizingMask屬性 個人測試的一些結果 setAutoresizingMask控件的自適應 UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5 UIViewAutoresizingNone UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 40)]; [label setAutoresizingMask: UIViewAutoresizingNone]; 控件相對於俯視圖坐標值不變 CGRectMake(50, 100, 200, 40) UIViewAutoresizingFlexibleWidth:控件的寬度隨着父視圖的寬度按比例改變 例如 label寬度為 100 屏幕的寬度為320 當屏幕寬度為480時 label寬度 變為 100*480/320 同理 UIViewAutoresizingFlexibleHeight相同 UIViewAutoresizingFlexibleLeftMargin 到屏幕左邊的距離隨着父視圖的寬度按比例改變 例如 CGRectMake(50, 100, 200, 40)]; 50 屏幕的寬度為320 當屏幕寬度為480時 label寬度 變為 50*480/320 控件變為 CGRectMake(75, 100, 200, 40)]; UIViewAutoresizingFlexibleRightMargin UIViewAutoresizingFlexibleTopMargin UIViewAutoresizingFlexibleBottomMargin
