以编程方式设置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;