J'ai donc récemment étudié le développement Swift/iOS et j'ai un peu de mal avec le dimensionnement des boutons dans une vue de pile, j'ai la disposition suivante:
Il y a deux TextFields et un bouton dans un StackView vertical, le StackView est centré horizontalement et verticalement (avec un peu d'espacement). C'est des voies de largeur ancrées à la marge gauche et droite.
Je voulais réduire la taille du bouton, c'est donc environ 80% de la largeur du StackView.
Ce que j'ai essayé:
Je fais tout cela dans la vue du storyboard plutôt que dans le code car j'essayais de connaître l'interface.
J'ai eu une bonne chasse et je n'arrive pas à trouver de réponses qui s'appliquent, excuses si cela semble basique, mais j'ai pensé que cela pourrait être bénéfique au cas où quelqu'un d'autre nouveau sur Xcode/Swift tomberait sur cela.
Essaye ça..
Ajouter une contrainte Largeur égale du bouton avec super vue (qui devrait être la vue de la pile je suppose). Comme ceci .. Appuyez sur control
+ faites glisser le pointeur du bouton StackView puis sélectionnez Equal widths
dans le petit menu contextuel.
Modifiez la contrainte Égalité et définissez Multiplicateur sur 0.8
.
Pour ceux qui essaient de redimensionner la hauteur d'une vue à l'intérieur d'une stackView comme dans l'exemple suivant:
Tout d'abord, définissez les contraintes pour StackView (largeur/hauteur, x, y), puis définissez les propriétés StackView comme suit:
Sélectionnez ensuite la vue que vous souhaitez redimensionner. C'est à dire. le vert, et ajoutez ces contraintes:
Ensuite, ajoutez simplement plus de contraintes aux autres vues/boutons/étiquettes. Dans cet exemple, voici les contraintes pour les vues bleue et orange:
Et,
Orange:
J'espère que cela aide.
Maintenez le bouton Contrôle et cliquez et faites glisser le bouton que vous souhaitez redimensionner sur le même bouton et sélectionnez Largeur et Hauteur afin de sélectionner Ajouter des contraintes. Cela vous donnera une taille de bouton d'image, vous pouvez donc changer cela dans l'inspecteur. N'oubliez pas de changer la vue en Échelle à remplir. C'est résolu pour moi.