web-dev-qa-db-fra.com

modification du contenu de la propriété Gravité dans la couche de transformation uniquement, n'aura aucun effet

J'ai commencé à créer un jeu de tic-tac-toe très simple. L'objectif principal est de rendre la vue proportionnelle à toutes les tailles d'écran de tous les appareils iOS. J'ai donc mis l'image sur un ViewController, je l'ai fait en plein écran, puis je l'ai placée dans une vue de pile. J'ai ajouté des contraintes à cette vue de pile 0 de tous les côtés. Et quand j'ai couru le simulateur, tout semble bien. Mais je reçois un message dans le panneau de la console. Qu'est-ce que ça veut dire?

screenshot

49
Alex Belke

Cela peut se produire car vous avez modifié l'attribut Mode de StackView:

enter image description here

J'ai reçu cet avertissement lorsque j'ai défini le mode sur Aspect Fit.

120
Lubos Ilcik

Tout changement de couche sur un UIStackView entraînera cet avertissement. Comme le souligne l'avertissement, UIStackView est un calque de transformation uniquement et il diffère assez légèrement d'un UIView. Selon la documentation:

UIStackView est une sous-classe sans rendu d'UIView; c'est-à-dire qu'il ne fournit aucune interface utilisateur propre. Au lieu de cela, il gère simplement la position et la taille de ses vues organisées. Par conséquent, certaines propriétés (comme backgroundColor) n'ont aucun effet sur la vue de la pile. De même, vous ne pouvez pas remplacer layerClass, drawRect: ou drawLayer: inContext :.

Plus à ce sujet ici .

Il ne peut pas indiquer la source exacte du problème de l'OP mais, espérons-le, il expliquera pourquoi le comportement de UIStackView n'est pas le même et ne doit pas être confondu avec UIView.

61
victor.vasilica

Pour quelqu'un qui en a besoin: j'ai défini clipToBounds sur false dans StackView.

3

Il semble que ce que vous avez fait soit parfaitement correct.

Cependant, je me demande pourquoi vous avez choisi de mettre votre imageview dans une stackview alors que vous auriez pu aussi facilement épingler les côtés sans la stackview. Je suis un grand fan des stackviews mais elles n'ont pas de sens partout. À moins que vous ne prévoyiez d'ajouter de nouvelles vues et de redimensionner votre tableau ticktactoe, je ne pourrais pas l'utiliser.

2
Rob Norback