如何以编程方式使用UIView autoresizingMask属性?

我已经用Interface Builder列出了一些子视图,但我想用代码来代替

我已经阅读了UIView文档中关于设置view.autoresizingMask属性的内容。我正在寻找一个逻辑解释,说明如何使用提供的各种掩码(例如,UIViewAutoResisingFlexibleLeftMargin等)翻译strutssprings

为视图设置自动调整大小掩码时,请使用位包含或()(Objective-C)或数组(Swift 2、3、4)来指定弹簧和支柱

  • 弹簧通过指定遮罩来表示(分别为Objective-C或Swift):

    • 垂直弹簧:ui视图自动调整弹性高度。弹性高度

    • 水平弹簧:UIViewAutoresizingFlexibleWidth。flexibleWidth

  • 支柱表示缺少四个“灵活边距”遮罩中的一个(即,如果支柱不存在,则指定该边距的遮罩):

    • UIViewAutoResisingFlexibleLeftMargin。flexibleLeftMargin

    • UIViewAutoResizingFlexiblerRightMargin。FlexiblerRightMargin

    • UIViewAutoResisingFlexibleTopMargin。flexibleTopMargin

    • UIViewAutoresizingFlexibleBottomMargin。flexibleBottomMargin

例如,带有水平弹簧顶部和底部支柱的视图将具有指定为柔性的宽度和左右边距:

Swift 3和4

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

Swift 2

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

Swift 1.2

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

目标-C

mySubview.autoresizingMask=(UIViewAutoresizingFlexibleWidth)
UIViewAutoResisingFlexibleLeftMargin |
UIViewAutoResisingFlexiblerightMargin);

发表评论