以编程方式设置UIView的autoresizing掩码?

我必须为UIView以编程方式设置autoresizingMask。

我不知道如何实现这一点。

在这里输入图像说明

为了实现你在屏幕截图中的作用,你需要做与DrummerBbuild议相反的事情。 你想要一个固定的顶部边缘,所以你让所有其他方面如此灵活:

目标C:

 view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin; 

没有设置一个方面灵活的手段,这将是固定的(默认行为),这就是为什么没有这样的事情UIViewAutoResizingFixedTopMargin(因为它没有设置UIViewAutoresizingFlexibleTopMargin相同)

编辑Swift:

 view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin] 

感谢Tom Calmon为第一版添加快速版本。

干杯。

你必须设置视图的autoresizingMask属性:

 view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin; 

可能的值在UIViewAutoresizing中定义:

 enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5 }; typedef NSUInteger UIViewAutoresizing; 

您可以使用按位或运算符|来设置多个值 。

Swift 2.0:

 view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin] 

为了设置UIView的灵活的上边距,下边距,左边距和右边距,写下面的代码 –

 autoresizingMask=UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;