我需要以编程方式设置UIView
的自动调整掩码。
我不知道如何实现这一点。
我需要以编程方式设置UIView
的自动调整掩码。
我不知道如何实现这一点。
view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleBottomMargin;
将一个属性设置为非"flexible"表示它是固定的(默认行为),这就是为什么没有"UIViewAutoResizingFixedTopMargin"这样的东西(因为它与不设置"UIViewAutoresizingFlexibleTopMargin"是相同的)。
用于Swift的编辑:
view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]
感谢Tom Calmon添加了Swift版本的首次更新。
Swift 5.0 更新:
view.autoresizingMask = [.flexibleRightMargin, .flexibleLeftMargin, .flexibleBottomMargin]
干杯。
你需要设置视图的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]
Swift 4.1:
view.autoresizingMask = [.flexibleHeight, .flexibleWidth, .flexibleTopMargin, .flexibleRightMargin, .flexibleLeftMargin, .flexibleBottomMargin]
要设置UIView的灵活顶部边距、底部边距、左侧边距和右侧边距,请编写以下代码-
autoresizingMask=UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;