web-dev-qa-db-fra.com

Comment corriger «l'ambiguïté de la taille du contenu défilant» dans Xcode 11 (iOS 12, iOS 13) à l'aide de la mise en page automatique

Lorsque j'utilise la mise en page automatique, je ne peux pas configurer un simple UIScrollView dans mon contrôleur de vue dans Xcode 11 beta. Je sais que je dois contraindre la vue de défilement aux bords, puis définir la largeur et la hauteur de la vue de défilement égal à la largeur et la hauteur de la vue entière qui contient la vue de défilement. Cependant, je n'obtiens pas l'option de définir des largeurs et des hauteurs égales lorsque j'essaie de le faire.

Lorsque je fais un clic droit de la vue de défilement vers la vue principale entière, j'obtiens les options suivantes:

  • Diriger l'espace vers une zone sûre
  • Espace supérieur vers une zone sûre
  • Trailing Space to Safe Area
  • Espace inférieur vers la zone de sécurité
  • Centrer horizontalement dans une zone sûre
  • Centrer verticalement dans une zone sûre

Dans d'autres vidéos, il y a une option "Égalité des largeurs" et "Égalité des hauteurs" que je ne semble pas avoir.

Suis-je en train de faire quelque chose de mal, ou est-ce que Apple a changé la façon dont les vues de défilement fonctionnent dans Xcode 11?

39
Pranav Ramesh

Désactivation des guides de présentation de contenu dans les propriétés

Disabling the content layout guides in properties

J'avais le même problème, et en désactivant l'option, il avait disparu.

J'espère que ça aide! :)

101
Juan David Torres

J'ai également empilé ce problème. J'ai trouvé un bon guide qui m'a aidé:

https://useyourloaf.com/blog/scroll-view-layouts-with-interface-builder/

Fondamentalement, vous avez besoin de 9 contraintes (en supposant que vous souhaitiez faire défiler uniquement verticalement):

1-4: ScrollView to Superview (haut, bas, début, fin). Assurez-vous de le connecter à la vue parent et non à la zone de sécurité.

5-8: Affichage du contenu dans le guide de disposition du contenu (haut, bas, début, fin).

  1. La largeur de la vue du contenu est égale à la largeur du Guide de mise en page du cadre.
9
Vadim

J'ai également rencontré ce problème (Version 11.0 beta 3 (11M362v)). J'ai résolu ce problème en définissant d'abord la disposition dans xcode10 puis l'exécuter dans xcode11. Je n'ai pas encore trouvé d'instructions officielles, prouvant que c'est un problème avec xcode11, mais pour l'instant, je suppose que c'est un problème avec xcode11 bate.

2
zheng

Après avoir passé beaucoup de temps sur ce problème de défilement dans Xcode-11. La conclusion sur ce problème est que vous devez choisir l'option de défilement tout en ajoutant une nouvelle contrainte.

Vous pouvez vous référer à la capture d'écran suivante pour résoudre votre problème.

enter image description here

Ces solutions mentionnées ont fonctionné pour moi.

1
Akshar Darji

Eh bien, j'étais confronté à ce problème, mais j'ai trouvé une solution. Le problème est la zone de sécurité . enter image description here

  • Incorporez la vue de défilement dans une interface utilisateur.
  • donne 0, Haut, Bas, Droite et Gauche.
  • donner maintenant des contraintes de vue de défilement avec cette vue.
  • Ajoutez une hauteur et une largeur égales de vue de contenu à cette vue.

la vue parent donne automatiquement la zone de sécurité. Tout ce que vous avez à faire est simplement d'incorporer votre vue de défilement dans une UIview, puis de donner une hauteur et une largeur égales à la vue de contenu de cette vue.

0
M. Mubeen Asif

Pour moi, initialement le Content Layout Guides est désactivé par défaut dans ScrollView. J'ai donc juste activé et désactivé le Content Layout Guides puis l'erreur a disparu automatiquement.

0
Vinoth Vino

Xcode 11+, Swift 5.

J'ai résolu mon problème, j'ai préparé vidéo et code

0
Ahmed Abdallah