UIView的autoresizingMask属性

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

今天做相册列表的时候,发现有些 UITableViewController 属性不好记忆,然后就查找了一些资料。做一下备份。

在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。

enum{

UIViewAutoresizingNone=0,

UIViewAutoresizingFlexibleLeftMargin=1<<0,

UIViewAutoresizingFlexibleWidth=1<<1,

UIViewAutoresizingFlexibleRightMargin=1<<2,

UIViewAutoresizingFlexibleTopMargin=1<<3,

UIViewAutoresizingFlexibleHeight=1<<4,

UIViewAutoresizingFlexibleBottomMargin=1<<5};

UIViewAutoresizingNone就是不自动调整 , 控件相对于父视图坐标值不变。

UIViewAutoresizingFlexibleLeftMargin 自动调整与superView左边的距离,保证与superView右边的距离不变。

UIViewAutoresizingFlexibleRightMargin 自动调整与superView的右边距离,保证与superView左边的距离不变。

UIViewAutoresizingFlexibleTopMargin 自动调整与superView顶部的距离,保证与superView底部的距离不变。

UIViewAutoresizingFlexibleBottomMargin 自动调整与superView底部的距离,也就是说,与superView顶部的距离不变。

UIViewAutoresizingFlexibleWidth 自动调整自己的宽度,保证与superView左边和右边的距离不变, 控件的宽度随着父视图的宽度按比例改变。

例如:label宽度为100,屏幕的宽度为320。当屏幕宽度为480时,label宽度变为100*480/320

UIViewAutoresizingFlexibleHeight 自动调整自己的高度,保证与superView顶部和底部的距离不变。

UIViewAutoresizingFlexibleLeftMargin

|UIViewAutoresizingFlexibleRightMargin

自动调整与superView左边的距离,保证与左边的距离和右边的距离和原来距左边和右边的距离的比例不变。

例如:CGRectMake(50, 100, 200, 40)]; 当屏幕的宽度为320,x为50;

当屏幕宽度为480时,labelx坐标变为 50*480/320。控件坐标变为 CGRectMake(75, 100, 200, 40)];

原来距离为20,30,调整后的距离应

为68,102,即68/20=102/30。

其它的组合类似。

本文转载自:http://www.cnblogs.com/jiangyazhou/archive/2012/06/26/2563041.html

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航