D'accord, je réussi à le faire à la fin.
Ce que j'ai fait, c'est que j'ai épinglé l'UIView qui a les UILabels dynamiques en haut, à droite et à gauche. Pour sa hauteur, je contrôle le glisser sur le dernier élément à l'intérieur de lui-même, ce qui est la deuxième hauteur dynamique UILabel sur la photo. J'ai contrôlé glisser et définir l'UIView et j'ai choisi "Bottom Spacing to Container" avec le UILabel qui a une hauteur dynamique. De cette façon, UILabel contrôle la hauteur finale de UIView dont UIScrollView avait besoin pour déterminer sa propre hauteur.
De grossier chaque élément UILabel a été épinglé en haut à gauche seulement ce qui leur permet d'être tous dynamiques. Ce que vous faites avec les UIViews suivants (que vous souhaitiez leur donner une hauteur statique ou dynamique) est votre choix. Comme pour le UIButton en bas, j'ai fait la même chose avec ça.Je contrôle glissé de l'UIView contenant (qui est imbriqué dans l'UIScrollView et contient tout ici), à l'UIButton et j'ai choisi "l'espacement inférieur au récipient" et le réglons à 5. Cela permettra à la vue de contenir pour ajuster sa hauteur en fonction de où se trouve l'UIButton qui dépend de la distance parcourue quand les étiquettes dynamiques poussent la hauteur de leur vue et à son tour poussent le UIButton si cela a du sens. En résumé, dans un scénario typique, vous placez généralement le dernier élément de la vue dans la partie inférieure gauche et droite de la vue qui le contient. Cependant, pour permettre les changements dynamiques, vous inversez les 2 éléments de la contrainte.
J'espère que cela a été utile.
Je m'assurerais que tous vos uiview sont correctement contraints avec des goupilles supérieures et inférieures ou l'un ou l'autre avec une taille fixe. Plus précisément, vous devriez être en mesure d'épingler le bas de l'UIView contenant les étiquettes dynamiques au sommet de l'UIView suivant pour avoir un espacement fixe entre les deux tout en permettant la hauteur dynamique. – zfetters
J'ai ces vues épinglées comme vous l'avez dit. Qu'est-ce qui détermine exactement la hauteur de la vue défilante? – Tarek
Donc, vous avez d'abord UIView directement sous votre vue de défilement qui est épinglé 0,0,0,0. A l'intérieur c'est tout votre contenu, donc une fois que vous avez ajouté toutes les contraintes pour vous assurer que tout a sa largeur/hauteur expliquée pour votre parent, UIView augmentera réellement en taille si le contenu à l'intérieur augmente (en fonction de votre taille dynamique étiquettes) qui à son tour augmentera la taille de contenu de votre UIScrollView. La plus grande chose est que vous obtenez les contraintes sur votre contenu correct et vous devriez être bon à faire. – zfetters