J'utilise UIStackView dans iOS 9 SDK. La hauteur de la pile est de 44 points. J'ai un UILabel et UIView dans StackView comme indiqué ci-dessous:
Maintenant, je veux que la vue verte soit beaucoup plus petite que 44 .. beaucoup comme 20. Comment puis-je faire cela?
MISE À JOUR: Sans UIStackView, les contraintes de rupture sont les suivantes:
[GT.BubbleView:0x14536610] (Names: '|':UITableViewCellContentView:0x14536fd0 )>",
"<NSLayoutConstraint:0x146b7300 GT.BubbleView:0x14536610.trailing == UITableViewCellContentView:0x14536fd0.trailingMargin>",
"<NSLayoutConstraint:0x146c4000 'UIView-Encapsulated-Layout-Width' H:[UITableViewCellContentView:0x14536fd0(286)]>"
)
Ensuite, tout ce que vous avez à faire est d’ajouter un autre UIView à votre vue verte. Faites la taille 20x20pts de cette UIView. Ensuite, changez l’arrière-plan de la vue réduite en vert et l’arrière-plan de la vue plus large à effacer.
Cela dit, cette solution ne nécessite pas de stackview et peut-être trop complique votre interface utilisateur. Je recommanderais simplement d'utiliser autolayout à la place.
Cette liste n'est pas exhaustive, mais devrait vous donner une idée de quand et pourquoi vous utiliseriez une vue de pile.
Ce comportement est trivial. Vous pouvez simplement définir les contraintes sur votre vue: '
Et ensuite, définissez les contraintes sur la vue pile:
J'espère que cela aide, à la vôtre!
Le problème de contrainte de rupture peut être facilement résolu en définissant la priorité des contraintes de largeur et de hauteur sur 800 ou plus.
Je voulais poster ma réponse ici afin que les autres puissent voir, malgré un problème légèrement différent de celui des PO.
J'essayais de redimensionner un UIView contenant un UIStackView et les contraintes étaient levées. Je changeais la contrainte de hauteur d'UIView entre 0 et 66 en fonction des informations pertinentes à montrer pour lesquelles l'affichage de la pile était affiché.
J'ai réussi à résoudre les contraintes de rupture en supprimant les contraintes supérieure et inférieure de la vue de pile à l'intérieur de la vue et à la définir de manière à ce qu'elle soit centrée verticalement. Cela a entraîné un défilement beaucoup plus fluide dans ma vue de table.