web-dev-qa-db-fra.com

Défilement d'UIScrollView dans Interface Builder for Xcode 4

Cela me semble être un problème commun, mais je n'arrive pas à trouver la réponse nulle part. Cette question semble résoudre le problème, mais je n'arrive pas à obtenir la solution et je ne suis pas sûr que cela se réfère à Xcode 4.

Lors de l'utilisation d'Interface Builder dans Xcode 4 et de l'utilisation d'une UIScrollView, existe-t-il un moyen de faire défiler la vue dans Interface Builder lui-même pour afficher/ajouter/modifier des contrôles se trouvant en dehors de la section visualisable de l'écran? J'ai réussi à enfoncer quelques commandes à l'aide des touches fléchées, mais maintenant je ne les vois pas et donc je ne peux pas les manipuler dans Interface Builder. Faire défiler la vue dans IB serait le premier prix, mais s’il est possible de sélectionner les commandes à l’aide d’un menu déroulant ou de tout autre moyen permettant de les repousser à l’aide des touches fléchées, ce serait au moins quelque chose. Merci.

25
Kongress

Juste une solution de contournement qui aide dans Xcode4:

  1. Développez le panneau Objets situé à gauche de la vue Interface Builder (la minuscule flèche située en bas du panneau).
  2. Faites glisser votre UIScrollView de la hiérarchie de vues et placez-le au niveau supérieur.
  3. Vous pouvez maintenant le redimensionner pour accéder à plus de contenu (le défilement jusqu'à ce contenu ne fonctionnait pas pour moi).
  4. Une fois que vous avez terminé d'ajouter des vues enfants à la vue de défilement, vous devez redimensionner cette dernière afin qu'elle soit plus petite ou de la même taille que la vue parent.
  5. Après vos modifications, vous devrez remettre la vue de défilement là où elle se trouve dans votre hiérarchie.
24
marcus

Définissez le Simulated Size du ViewController sur Freeform et définissez une très grande height. E.g: 1000 et voilà! Vous pouvez maintenant faire défiler pour voir tous les trucs et en ajouter encore plus! :)

P.S: N'oubliez pas de définir set Fixed lorsque vous avez terminé pour éviter les problèmes!

 enter image description here

22
KrLx_roller

Je fais généralement ce qui suit lorsque je veux (devoir) construire un long écran de défilement:

  1. Définir la taille du contrôleur de vue sur Freeform
  2. Réglez la hauteur du niveau supérieur sur quelque chose de très grand
  3. Organiser tous les contrôles que je veux sur la vue
  4. Sélectionnez tous les contrôles
  5. Sélectionnez Editor-> Embed In-> Scroll View
  6. Réinitialisez la taille du View Controller à la normale (généralement inférée)
6
Jonathan Arbogast

Eh bien, il y a différentes choses que vous pouvez faire. Vous pouvez ouvrir une liste d'éléments dans votre vue à gauche de l'espace de travail en cliquant sur le bouton ressemblant à un petit bouton de lecture de la barre d'outils. Double-cliquez sur un élément pour le sélectionner afin que vous puissiez utiliser les touches fléchées.

La meilleure option consiste à utiliser le panneau de présentation (généralement à droite) et à entrer les valeurs de position manuellement. Parfois, je vais utiliser ceci pour déplacer ma vue de défilement jusqu'à l'endroit où je peux voir où je travaille, puis la ramener en arrière.

5
Dancreek

Je sais que ce n'est pas exactement ce que vous recherchiez, mais je fais toujours glisser la vue de défilement du contrôleur de vue vers le "presse-papier" où vous pouvez la redimensionner à volonté et voir le tout.

Une fois mes modifications apportées, je le redimensionne simplement pour l'adapter à l'espace alloué dans ma vue et le replacer dans le contrôleur de vue.

0
JRulle

définissez la vue racine sur une forme libre et sur une hauteur d'environ 1 000 points, parcourez les vues enfants et définissez-les également sur cette hauteur (y compris la vue de défilement), dans la méthode viewdidload, définissez la hauteur à la taille appropriée.

0
snowcamel

J'ai trouvé une solution bien que vous deviez utiliser un contrôleur de vue Table. Si vous définissez la table comme statique, le défilement fonctionne dans le générateur d'interface lorsque la table est plus grande que la taille de la fenêtre. De plus, une vue standard peut être ajoutée en haut et en bas du tableau, ces vues sont également défilables. Le défilement est fait une fois que le contrôleur est sélectionné. J'espère que vous trouvez cette astuce utile.

0
Jorge Perez