UIView autoresizingMask - Interface du Générateur de Code - créer par programmation amortisseurs et ressorts - Swift ou Objective-C
J'ai disposé quelques sous-vues avec Interface Builder, mais je voudrais le faire dans le code à la place.
J'ai lu le UIView docs sur la définition de la vue.autoresizingMask de la propriété. Je suis à la recherche d'une explication logique de la manière de traduire les amortisseurs et les ressorts en utilisant les différents masques offerts (par exemple,UIViewAutoresizingFlexibleLeftMargin
, etc).
Vous devez vous connecter pour publier un commentaire.
Lors de la définition d'un redimensionnement automatique de masque pour la vue, l'utilisation d'un bit à bit inclusive OU (
|
) (Objective-C), ou un tableau (Swift 2, 3) pour spécifier ressorts et struts.Ressorts sont représentés par la spécification d'un masque (Objective-C ou Swift 3, respectivement):
verticale printemps:
UIViewAutoresizingFlexibleHeight
ou.flexibleHeight
horizontale printemps:
UIViewAutoresizingFlexibleWidth
ou.flexibleWidth
Struts sont représentés par l'absence de l'un des quatre " flexible de marge des masques (c'est à dire si une jambe de force n'existe pas, le masque pour que la marge est spécifié):
UIViewAutoresizingFlexibleLeftMargin
ou.flexibleLeftMargin
UIViewAutoresizingFlexibleRightMargin
ou.flexibleRightMargin
UIViewAutoresizingFlexibleTopMargin
ou.flexibleTopMargin
UIViewAutoresizingFlexibleBottomMargin
ou.flexibleBottomMargin
Par exemple, une vue avec une horizontale printemps et en haut et en bas struts aurait la largeur, et les marges gauche et droite spécifié comme flexible:
Swift 3
Swift 2
Swift 1.2
Objective-C
UIViewAutoResizingMask
s sont ce que nous appelons "struts" et des "sources". Considérez ceci: vous avez une grande place avec un petit carré à l'intérieur. Pour ce carré de rester parfaitement centré, vous devez définir une largeur fixe à partir de chaque bord intérieur de la grande place, ainsi que pour les entraver. Ce sont des jambes de force.Ressorts, d'autre part, de travailler plus comme un
UIView
n'lors de la rotation. Disons que notre point de vue doit rester sur le bas de l'écran, alignés dans le centre (un peu comme uneUIToolbar
). Nous voulons garder printemps Haut flexible de sorte que lorsque la vue pivote à partir de 460 px à 320 px, il garde la même position par rapport à l'écran est maintenant changé de dimension. Soulignant l'un de ces ressorts de l'IB est égal à mettre le bonUIViewAutoResizingMask
et met en évidence les principales printemps spécifiquement ressemble à l'appel demyView.autoResizingMask = UIViewAutoresizingFlexibleTopMargin
.Valeurs peuvent être utilisés en tandem en les enfermant dans une paire de parenthèses et en utilisant un opérateur ou comme
myView.autoResizingMask = (UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin)
Les masques sont les chiffres des rapports pour vous, car ils sont une définition de type d'un
NSUInteger
et ceux sont les indicateurs qu'apple les a assignés. Cmd+clic sur un pour voir sa définition de la méthode.