一尘不染

UIView autoresizingMask-代码的界面生成器-以编程方式创建支杆和弹簧-Swift或Objective-C

swift

我已经用Interface Builder布置了一些子视图,但是我想用代码代替。

我已经阅读了有关设置view.autoresizingMask属性的
UIView文档。我正在寻找一种逻辑解释,说明如何使用提供的各种遮罩(例如UIViewAutoresizingFlexibleLeftMargin)来平移支柱和弹簧。


阅读 262

收藏
2020-07-07

共1个答案

一尘不染

为视图设置自动调整大小蒙版时,请使用按位包含(或|)的OR()(Objective-C)或数组(Swift 2、3、4)来指定 springs
struts

  • *通过指定掩码(分别是Objective-C或Swift)来表示 *弹簧

    • 垂直弹簧: UIViewAutoresizingFlexibleHeight.flexibleHeight

    • 卧式弹簧: UIViewAutoresizingFlexibleWidth.flexibleWidth

  • 支柱 是由缺少四个“柔性余量”掩膜之一(即,如果支柱不存在,被指定为余量的掩模)表示:

    • UIViewAutoresizingFlexibleLeftMargin 要么 .flexibleLeftMargin

    • UIViewAutoresizingFlexibleRightMargin 要么 .flexibleRightMargin

    • UIViewAutoresizingFlexibleTopMargin 要么 .flexibleTopMargin

    • UIViewAutoresizingFlexibleBottomMargin 要么 .flexibleBottomMargin

例如,具有 水平弹簧 以及 顶部和底部支撑 的视图将具有宽度,并且左右边界指定为可伸缩的:

斯威夫特3和4

mySubview.autoresizingMask = [.flexibleWidth, .flexibleLeftMargin, .flexibleRightMargin]

迅捷2

mySubview.autoresizingMask = [.FlexibleWidth, .FlexibleLeftMargin, .FlexibleRightMargin]

斯威夫特1.2

mySubview.autoresizingMask = .FlexibleWidth | .FlexibleLeftMargin | .FlexibleRightMargin

目标C

mySubview.autoresizingMask = (UIViewAutoresizingFlexibleWidth |    
                              UIViewAutoresizingFlexibleLeftMargin |  
                              UIViewAutoresizingFlexibleRightMargin);

在此处输入图片说明

2020-07-07