J'ai un mode de vue intégré à NavigationController. J'ai placé ScrollView à l'intérieur, puis la vue de contenu couvrant la surface complète (pour définir la taille du contenu de ScrollView) et certaines étiquettes. J'ai essayé de définir des contraintes pour toutes les commandes mais j'ai échoué. P>
Voici comment il ressemble à xcode: p>
Et ceci est dans le simulateur: p>
La couleur rouge est la vue sur le défilement, la vue de contenu vert. Bien sûr, je peux faire défiler la vue pour obtenir l'étiquette inférieure à l'écran. P>
Qu'est-ce que j'ai mal fait? Quelles sont les contraintes appropriées? Je veux bien sûr que le ScrollView couvre toute la zone utilisable de la fenêtre (à partir de la barre de navigation au bas de l'écran). P>
Pour une référence complète, vous pouvez Téléchargez le projet . p>
4 Réponses :
Je pense que l'écart que vous voyez est causé par la barre de navigation. L'espace est éteint la taille 64, qui est la taille de la barre de navigation + barre d'état (44 + 20). Vous devez contraindre la barre de défilement vers le guide de mise en page supérieur.de en poussant cette 64 négativement. Donc, votre Top ScrollView Top Constrant sera de -64. P>
Ceci peut également être effectué en un clic, en cliquant sur la vue Cliquez sur la vue de la position et sélectionnez Comme vous pouvez le constater, le contenuView n'est pas construit pour couvrir la vue, comme SchollView, il y a de place sur le bouton de la vue du contenu, lorsque la vue se charge, la barre de navigation occupera l'espace supplémentaire et le contenu Soyez exactement là où vous avez besoin. p>
Cela a fait l'affaire et a déplacé le contenu supérieur mais je peux toujours faire défiler la vue et voir la vision de Scroll Rouge en bas.
J'ai également quatre avertissements en raison de différentes positions de contrôles au moment de l'exécution.
Voici un bon tutoriel sur ScrollView et la mise en page automatique. Je passe beaucoup de temps avec le même type de problème jusqu'à ce que ce tutoriel. http://spin.atomicObject.com/2014/03/05/ Uiscrollview-Autolayout-iOS / . P>
Le moyen est de faire glisser la vue ScrollView et le contenu de la vue de la zone comme s'il n'y avait pas de barre de navigation. Faire également des contraintes appropriées. P>
J'ai vu ce tutoriel mais je ne pouvais pas obtenir cela pour travailler de toute façon :(
SWIFT 3:
self.automaticallyAdjustsScrollViewInsets = false
Utilisation de l'interface Builder / Storyboard Qu'est-ce qui fonctionne pour moi, c'est de la décocher à partir de l'inspecteur des attributs de scène.
Le code SWIFT 3 fonctionne, mais le constructeur d'interface tente de compenser la barre de navigation afin d'ajouter une vue ignorer la barre et de placer la vue sur elle. L'IB va compenser. P>
J'ai émulé le comportement de la vue de défilement en utilisant
uipangesureecognizer code> mais la question de la vue de défilement et de la mise en page automatique est toujours en place.
Peut-être cette réponse ( lien ) utile
Essayez de vérifier "Ajuster le défilement de la vue Incarts d'inscription" sur votre mode de vue du constructeur d'interface. (Je me rends compte que c'est une ancienne question)
Comment avez-vous résolu votre problème? J'ai le même problème...
Je ne me souviens pas :(
Avez-vous eu la solution ou non? J'ai essayé des réponses ci-dessous mais je ne travaille pas
Comme je l'ai écrit ci-dessus, je ne me souviens pas. Je ne coporte plus pour iOS, alors je ne me souviens même pas de quel projet était ceci.