When setting the autoresizing mask for a view, use a bitwise inclusive OR (|
) (Objective-C), or an array (Swift 2, 3, 4) to specify springs and struts.
-
Springs are represented by specifying a mask (Objective-C or Swift, respectively):
-
vertical spring:
UIViewAutoresizingFlexibleHeight
or.flexibleHeight
-
horizontal spring:
UIViewAutoresizingFlexibleWidth
or.flexibleWidth
-
-
Struts are represented by the lack of one of the four ‘flexible margin’ masks (i.e. if a strut does not exist, the mask for that margin is specified):
-
UIViewAutoresizingFlexibleLeftMargin
or.flexibleLeftMargin
-
UIViewAutoresizingFlexibleRightMargin
or.flexibleRightMargin
-
UIViewAutoresizingFlexibleTopMargin
or.flexibleTopMargin
-
UIViewAutoresizingFlexibleBottomMargin
or.flexibleBottomMargin
-
For example, a view with a horizontal spring and top and bottom struts would have the width, and left and right margins specified as flexible:
Swift 3 and 4
mySubview.autoresizingMask = [.flexibleWidth, .flexibleLeftMargin, .flexibleRightMargin]
Swift 2
mySubview.autoresizingMask = [.FlexibleWidth, .FlexibleLeftMargin, .FlexibleRightMargin]
Swift 1.2
mySubview.autoresizingMask = .FlexibleWidth | .FlexibleLeftMargin | .FlexibleRightMargin
Objective-C
mySubview.autoresizingMask = (UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin);