Que signifie "autoresize = W + H;" dans la sortie NSLog d'un object UIView

Code: NSLog(@"[self view] = %@", [self view]);

Sortie: [self view] = <UIView: 0xca2bfc0; frame = (0 44; 320 588); autoresize = W+H; autoresizesSubviews = NO; layer = <CALayer: 0xca1d7e0>> [self view] = <UIView: 0xca2bfc0; frame = (0 44; 320 588); autoresize = W+H; autoresizesSubviews = NO; layer = <CALayer: 0xca1d7e0>>

J'ai essayé de [[self view] setFrame:CGRectMake(0, 64, 320, 568 + 64)]; , mais le cadre de vue est toujours frame = (0 44; 320 588). Donc, je NSLog la [auto-vue] pour voir s'il y a des contraintes autoresize là-bas. Mais je ne sais pas ce que signifie la notation ci-dessus.

C'est la description du journal de l'UIView -autoresizingMask. Fondamentalement, c'est la façon dont vous décrivez ce que les sous-vues devraient faire lorsque la vue d'set est redimensionnée. C'est très puissant.

Vos règles actuelles indiquent à la sous-vue de resize la largeur et la hauteur lorsque la superposition est redimensionnée, et de maintenir la distance au-dessus et au-dessous de la sous-vue statique (en termes de système de coordonnées de présentation).

Vous pouvez lire cela comme:

Cette vue sera autoresize en étirant sa largeur et sa hauteur.

Cela signifie que votre masque autoresizing actuel est défini sur UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight