Hir*_*ren 54 iphone objective-c uiview ios autoresizingmask
我必须以编程方式设置autoresizingMask UIView
.
我不知道如何实现这一点.
pni*_*zle 87
为了实现你在屏幕截图中所拥有的,你需要做与DrummerB建议相反的事情.你想要一个固定的上边距,这样你就可以使每一方都灵活:
目标C:
view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleBottomMargin;
Run Code Online (Sandbox Code Playgroud)
在设置了侧灵活意味着,这将是固定的(默认行为),这就是为什么有是UIViewAutoResizingFixedTopMargin没有这样的事情(因为它同样不设置UIViewAutoresizingFlexibleTopMargin)
编辑Swift:
view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]
Run Code Online (Sandbox Code Playgroud)
感谢Tom Calmon添加swift版本1st.
干杯.
Dru*_*erB 23
您必须设置视图的autoresizingMask
属性:
view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
Run Code Online (Sandbox Code Playgroud)
可能的值定义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;
Run Code Online (Sandbox Code Playgroud)
您可以使用按位OR运算符设置多个值|
.
Tho*_*mon 21
Swift 2.0:
view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]
Run Code Online (Sandbox Code Playgroud)
斯威夫特 4.1:
view.autoresizingMask = [.flexibleHeight, .flexibleWidth, .flexibleTopMargin, .flexibleRightMargin, .flexibleLeftMargin, .flexibleBottomMargin]
Run Code Online (Sandbox Code Playgroud)