- (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 &#61; 0,UIViewAutoresizingFlexibleLeftMargin &#61; 1 <<0,UIViewAutoresizingFlexibleWidth &#61; 1 <<1,UIViewAutoresizingFlexibleRightMargin &#61; 1 <<2,UIViewAutoresizingFlexibleTopMargin &#61; 1 <<3,UIViewAutoresizingFlexibleHeight &#61; 1 <<4,UIViewAutoresizingFlexibleBottomMargin &#61; 1 <<5UIViewAutoresizingNoneUILabel* label &#61; [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 40)];[label setAutoresizingMask: UIViewAutoresizingNone]; 控件相对于俯视图坐标值不变 CGRectMake(50, 100, 200, 40)UIViewAutoresizingFlexibleWidth&#xff1a;控件的宽度随着父视图的宽度按比例改变 例如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