92 votes

XCode - Est-il possible de faire glisser un composant à partir d'une vue à l'autre sans perdre son image?

La question du titre, fondamentalement, tout est dit. Ce que je voudrais faire est de glisser un composant/vue d'un superview à l'autre dans XCode, interface builder, sans avoir son image/position zéro.

XCode est le comportement par défaut lors de ce qui semble être au centre de la vue d'être déplacé verticalement et horizontalement dans sa nouvelle superview, tout en conservant ses dimensions. C'est extrêmement frustrant, car cela signifie que la vue doit être manuellement repositionné dans son nouveau superview. Mais je l'avais positionné correctement avant que je déménage, donc je voudrais XCode pour juste se rappeler de tous les attributs de son cadre, au lieu de simplement sa largeur/hauteur. Est-ce possible?

225voto

Jay Points 1044

Une autre solution:

  1. Sélectionnez les éléments que vous voulez dans votre sous-vue, puis
  2. (dans la barre d'outil) de l'Éditeur -> Incorporer Dans -> type d'affichage à incorporer dans.

28voto

lakiluk Points 676

J'ai trouvé quelque chose qui pourrait vous aider les gars!

La tâche consiste à regrouper les enfants des "points de vue" en "vue parent" afin qu'ils deviennent des enfants de la vue parent de façon hiérarchique et de conserver les positions sur l'écran comme avant l'action.

Tout d'abord, régler la vue parente physiquement couvre la zone de vues enfant. Deuxièmement, assurez-vous que toutes les balises sont soufflet dans la vue liste.

Maintenant, sélectionnez toutes les childs par la souris et de la déplacer par exemple, un pixel et un pixel vers le bas (juste pour dire IB il y a un peu de changement). Après que la libération de l'enfant et ils vont comme par magie devenir enfant de parent et de garder leurs positions sur l'affichage.

Il fonctionne pour moi sur OSX 10.8.2 et Xcode 4.6.

Bonne chance!

22voto

Stepan Hruda Points 452

J'ai réussi à économiser beaucoup de temps passé repositionnement des trucs et fait ceci:

  1. Ajouter la vue parent dans Interface Builder sur le même niveau que les sous-vues.
  2. Ouvrez la table de montage séquentiel dans un éditeur de texte et copiez les sous-vues à l'intérieur de la sous-vues tags de la vue parent. XCode va mettre à jour une fois que vous l'enregistrez.

Pas très élégant, ne peut pas voir pourquoi XCode ne le supporte pas avec la touche Maj ou quelque chose.

10voto

  1. Sélectionnez toutes les commandes que vous voulez déplacer de l'une UIView à l'autre UiView(que dis-je être de l'enfant) ou le ScrollView

  2. Couper/Copier

  3. Maintenant, après avoir fait glisser la nouvelle UIView/ScrollView à votre UIView, de Ne pas cliquer une fois pour le sélectionner, au lieu de DOUBLE-cliquer sur la nouvelle UIView/ScrollView et coller tous les contrôles.

  4. Différence de Distance restera même parmi toutes les commandes, mais vous pouvez avoir à repositionner le contrôle à nouveau. Donc, ne cliquez pas n'importe où jusqu'à ce que vous avez repositionné ceux, juste repositionner tous les contrôles par les flèches de navigation que ceux sont choisis déjà, ou vous pouvez les cinq à sélectionner ceux à nouveau.

NOTE: je m sur XCode 4.2

4voto

Yunus Nedim Mehel Points 2311

J'ai fait quelque chose de similaire à stepans solution, sans l'aide de story-board. Dans l'IB tandis que le ViewControllers est ouvert:

  1. Créer un autre point de vue en plus de CR de la vue principale
  2. Déplacer tous les sous-vues pour le second point de vue en les faisant glisser à partir d'une vue à l'autre (en faisant glisser à partir de la liste sur le côté gauche réinitialise leur position) Si vous ne pouvez pas les sélectionner à partir de l'IB à l'aide de votre souris, puis sélectionnez tous à partir de la liste sur le côté gauche, puis sélectionnez l'une finale de la sous-vue de l'établissement du panneau à l'aide de "cmd".
  3. Les ramener à la finale de la vue sur la vue principale.
  4. Supprimer l'ajout de la visualisation, tous ensemble.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X