from  http://hi.baidu.com/iphone_debug/blog/item/955c4cc2767c5a2b970a16b2.html

自动尺寸调整行为

当您改变视图的边框矩形时,其内嵌子视图的位置和尺寸往往也需要改变,以适应原始视图的新尺寸。如果视图的autoresizesSubviews属性声明被设置为YES,则其子视图会根据autoresizingMask属性的值自动进行尺寸调整。简单配置一下视图的自动尺寸调整掩码常常就能使应用程序得到合适的行为;否则,应用程序就必须通过重载layoutSubviews方法来提供自己的实现。

设置视图的自动尺寸调整行为的方法是通过位OR操作符将期望的自动尺寸调整常量连结起来,并将结果赋值给视图的autoresizingMask属性。表2-1列举了自动尺寸调整常量,并描述这些常量如何影响给定视图的尺寸和位置。举例来说,如果要使一个视图和其父视图左下角的相对位置保持不变,可以加入UIViewAutoresizingFlexibleRightMargin 和UIViewAutoresizingFlexibleTopMargin常量,并将结果赋值给autoresizingMask属性。当同一个轴向有 多个部分被设置为可变时,尺寸调整的裕量会被平均分配到各个部分上。

   

UIViewAutoresizingNone

这个常量如果被设置,视图将不进行自动尺寸调整。

UIViewAutoresizingFlexibleHeight

这个常量如果被设置,视图的高度将和父视图的高度一起成比例变化。否则,视图的高度将保持不变。

UIViewAutoresizingFlexibleWidth

这个常量如果被设置,视图的宽度将和父视图的宽度一起成比例变化。否则,视图的宽度将保持不变。

UIViewAutoresizingFlexibleLeftMargin

这个常量如果被设置,视图的左边界将随着父视图宽度的变化而按比例进行调整。否则,视图和其父视图的左边界的相对位置将保持不变。

UIViewAutoresizingFlexibleRightMargin

这个常量如果被设置,视图的右边界将随着父视图宽度的变化而按比例进行调整。否则,视图和其父视图的右边界的相对位置将保持不变。

UIViewAutoresizingFlexibleBottomMargin

这个常量如果被设置,视图的底边界将随着父视图高度的变化而按比例进行调整。否则,视图和其父视图的底边界的相对位置将保持不变。

UIViewAutoresizingFlexibleTopMargin

这个常量如果被设置,视图的上边界将随着父视图高度的变化而按比例进行调整。否则,视图和其父视图的上边界的相对位置将保持不变。

如 果您通过Interface Builder配置视图,则可以用Size查看器的Autosizing控制来设置每个视图的自动尺寸调整行为。上图中的灵活宽度及高度常量和 Interface Builder中位于同样位置的弹簧具有同样的行为,但是空白常量的行为则是正好相反。换句话说,如果要将灵活右空白的自动尺寸调整行为应用到 Interface Builder的某个视图,必须使相应方向空间的Autosizing控制为空,而不是放置一个支柱。幸运的是,Interface Builder通过动画显示了您的修改对视图自动尺寸调整行为的影响。

如果视图的autoresizesSubviews属性被设置为 NO,则该视图的直接子视图的所有自动尺寸调整行为将被忽略。类似地,如果一个子视图的自动尺寸调整掩码被设置为 UIViewAutoresizingNone,则该子视图的尺寸将不会被调整,因而其直接子视图的尺寸也不会被调整。

请注意:为了使自动尺寸调整的行为正确,视图的transform属性必须设置为恒等变换;其它变换下的尺寸自动调整行为是未定义的。

自动尺寸调整行为可以适合一些布局的要求,但是如果您希望更多地控制视图的布局,可以在适当的视图类中重载layoutSubviews方法。

转载于:https://www.cnblogs.com/lzjsky/archive/2013/03/18/2966316.html

subview自适应superview的frame autosizingMask(转)相关推荐

  1. 【原转】使用获取subview获取子view

    通常我们在view层级里面对subView的操作可以通过两种方式:1.保留一个subview的引用,然后在类中通过该引用对该subview 进行操作,但是要注意在适当的位置添加内存维护的代码,退出前手 ...

  2. ios 的frame,bound,center

    frame:指的是视图在父视图的坐标系统中的大小和位置. bound:指的是视图在试图本身的坐标系统中的大小(位置起点是原点). center:指的是视图在父视图坐标系统中的中心点. 贴张苹果官网的图 ...

  3. 0119吧 iPhone 屏幕尺寸

    1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS ...

  4. html5开发之ios屏幕适配,iOS开发屏幕尺寸以及屏幕适配等问题(转载内容)

    原帖地址:http://blog.csdn.net/phunxm/article/details/42174937/ 仅供我个人收藏学习,原博主如不同意请联系qq651263878进行删除,在此表示感 ...

  5. 深入理解Auto Layout 第一弹

    form:https://zhangbuhuai.com/auto-layout-part-1/ By 张不坏 2015-07-16 更新日期:2015-07-17 文章目录 1. 写在前面 2. i ...

  6. iphone屏幕尺寸总结

    http://blog.csdn.net/phunxm/article/details/42174937#t24 1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 ...

  7. iphone 屏幕大小及计算

    1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS ...

  8. iOS 屏幕尺寸、分辨率、适配

    1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS ...

  9. IOS 开发 iPhone屏幕尺寸、分辨率及适配

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point ...

最新文章

  1. [kuangbin带你飞]专题五查并集
  2. ajax,php文件读取
  3. oracle怎么设置能使用别的账户存储过程的全向_教你怎么重装100%纯净的Win10系统,告别蓝屏,卡顿。...
  4. Error(6,35)java: 程序包 不存在,解决办法
  5. linux barrier,如何决定何时启用Linux文件系统barrier功能?
  6. 疑似小米12 mini渲染图曝光:屏幕不到6英寸 真小屏旗舰
  7. 移动端图片裁剪上传—jQuery.cropper.js
  8. 与7无关的数(前缀和)
  9. 去除水印-Teorex Inpaint 序列号
  10. js事件对象鼠标与键盘事件对象
  11. Windows小工具 tcping
  12. ROS2机器人资料21-11-02(全面升级)
  13. Phunware在全球发行Phun实用型代币
  14. 国内云服务器哪家好?
  15. JAVA版聊天室小软件
  16. 10. 哈夫曼树、Trie、补充
  17. python中的列表生成式 | 字典生成式
  18. 全球是一个班(比喻很形象)
  19. CAD数据集导出DWG,风格对照表的使用
  20. 思科3560交换机console线灌IOS

热门文章

  1. USB的pid和vid以及usb路径名字之间的关系
  2. linux星期六字符,linux shell系列10 判断某个月中的星期六和星期天
  3. 020_Transfer穿梭框
  4. 034_webpack中的加载器
  5. 009_字符串内建函数
  6. 011_fastdfs-client-java模块
  7. 025_html表格
  8. java中怎么固定间距_java中的GridBagLayout是怎么调组件间距的...
  9. mac搭建ios自动化环境之WebDriverAgent配置
  10. 电脑前面的插孔没声音怎么设置_手机没声音是怎么回事