Je dois définir autoresizingMask par programme pour UIView
.
Je ne sais pas comment mettre cela en œuvre.
Pour réaliser ce que vous avez dans cette capture d'écran, vous devez faire le contraire de ce que DrummerB suggère. Vous voulez une marge supérieure fixe afin de rendre tous les autres côtés flexibles comme ceci:
Objectif C:
view.autoresizingMask = UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleBottomMargin;
Ne pas définir un côté comme flexible signifie qu'il sera corrigé (comportement par défaut), c'est pourquoi il n'y a rien de tel que UIViewAutoResizingFixedTopMargin (car c'est la même chose que de ne pas définir UIViewAutoresizingFlexibleTopMargin)
Modifier pour Swift:
view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]
Nous remercions Tom Calmon d'avoir ajouté la Swift version 1st.
À votre santé.
Vous devez définir la propriété autoresizingMask
de la vue:
view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
Les valeurs possibles sont définies dans 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;
Vous pouvez définir plusieurs valeurs avec l'opérateur au niveau du bit OR |
.
Swift 2.0:
view.autoresizingMask = [.FlexibleRightMargin, .FlexibleLeftMargin, .FlexibleBottomMargin]
Swift 4.1:
view.autoresizingMask = [.flexibleHeight, .flexibleWidth, .flexibleTopMargin, .flexibleRightMargin, .flexibleLeftMargin, .flexibleBottomMargin]
Pour définir la marge supérieure flexible, la marge inférieure, la marge gauche et la marge droite d'un UIView, écrivez le code suivant:
autoresizingMask=UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin;