Si vous modifiez la taille de vos étiquettes (numberOfLines! = 0), elles s'affichent automatiquement ... si le contenu du texte ne correspond pas.
Pour construire votre présentation de vue, regardez le nouveau (depuis iOS 9) UIStackView qui permet d'empiler des vues et de gérer leur mise en page automatique.
Une approche possible à votre exigence est d'avoir les trois étiquettes à l'intérieur d'un UIStackView. Utilisez ensuite les contraintes de disposition automatique pour organiser l'UIStackView, les boutons et l'image. L'un de vos contraintes doivent faire l'UIStackView une largeur fixe et/ou de la hauteur afin que vous puissiez contrôler la taille de vos étiquettes:
En utilisant un langage visuel: H: [myStackView (== 280)] ou
theView.addConstraint(NSLayoutConstraint(item: myStackView, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.width, multiplier: 1, constant: 280))
est ici un exemple de code pour créer un UIStackView programme et le lien vers la documentation d'Apple: https://developer.apple.com/reference/uikit/uistackview
l'exemple de code a deux étiquettes empilées horizontalement, centrées et de taille égale, séparés par 40. Vous souhaitez empiler vos étiquettes verticalement.
let stackView = UIStackView(arrangedSubviews: [negativeResponseButton, positiveResponseButton])
stackView.axis = .horizontal
stackView.distribution = .fillEqually
stackView.alignment = .center
stackView.spacing = 40