web-dev-qa-db-fra.com

Les vues texte et image disparaissent du contrôleur de vue dans le storyboard Xcode 6.1

J'ai mis à jour vers Xcode 6.1 pour corriger une erreur que je rencontrais avec l'outil Builder Cocoa Touch Tool, augmentant à 99% l'utilisation du processeur lorsque j'utilisais le storyboard, ce qui gèlerait Xcode. Maintenant que cette erreur est corrigée, j'ai peut-être une erreur encore plus frustrante.

Lorsque j'utilise le storyboard, pendant que je travaille sur un UIViewController, mon UITextView, mon UITextViews personnalisé (qui sont des sous-classes de UITextView, mais pour toutes les intentions et tous les buts du storyboard, ce sont UITextViews), et mon UIImageView disparaît soudainement!

Voici à quoi ressemble la vue principale par défaut à l'intérieur de mon contrôleur de vue:

Vue principale

  • Vue
    • Indicateur d'activité
  • Vue de défilement
    • Label
    • Affichage du texte ((x = 0, y = -65, largeur = 0, hauteur = 0) ERREUR!
    • Label
    • Affichage de texte personnalisé ((x = 0, y = -65, largeur = 0, hauteur = 0) ERREUR!
    • Label
    • Affichage de texte personnalisé ((x = 0, y = -65, largeur = 0, hauteur = 0) ERREUR!
    • Label
    • Affichage de texte personnalisé ((x = 0, y = -65, largeur = 0, hauteur = 0) ERREUR!
    • Label
    • Label
    • Affichage de texte personnalisé
    • Vue
      • Vue
        • Label
        • Bouton
      • Vue de l'image ((x = 0, y = 0, largeur = 0, hauteur = 0) ERREUR!
    • ViewX
      • Label
      • Affichage de texte personnalisé (x = 0, y = -526, largeur = 0, hauteur = 0) ERREUR!
      • Contraintes de largeur et de hauteur pour cette vue.
    • Bouton
    • Contraintes de largeur et de hauteur pour la vue de défilement
    • Centrez les contraintes x et y pour ViewX dans la vue de défilement.
  • Centrez les contraintes x et y pour la vue de défilement dans la vue principale.

Tout a commencé lorsque j'ai ajusté la taille du contrôleur de vue à l'aide de "forme libre" afin de voir les vues qui étaient hors de l'écran du contrôleur de vue. Une fois que j'ai utilisé cmd-Z pour changer le contrôleur de vue sur "fixe" (à la taille normale), les éléments manquants sont apparus à nouveau et tout semblait bien. Cependant, plus tard, je modifiais le contrôleur de vue et tout à coup ... bam! Ils sont partis. Et lorsque je les ai tous réinitialisés à l'endroit où ils étaient censés être, cela s'est à nouveau produit (entraînant les valeurs x, y, largeur, hauteur décrites ci-dessus).

:

Quelqu'un sait-il ce qui pourrait mal se passer? Je n'ai jamais eu cette erreur dans Xcode 5.

--- (MODIFIER:
J'ai pu utiliser cmd-Z pour ramener le contrôleur de vue à la normale. Ensuite, j'ai redémarré mon mac et rouvert Xcode. Maintenant, j'ai remarqué que l'erreur se produit chaque fois que je redimensionne quelque chose dans le storyboard en faisant glisser avec le curseur (cela ne se produit pas si je redimensionne quelque chose en utilisant les propriétés width et height sur le panneau de droite dans Xcode). Cela se produit également sur d'autres contrôleurs de vue. Même dans un contrôleur de vue qui n'a qu'un UILabel et un UIImageView dans la vue principale par défaut, lorsque je clique sur le bord de l'étiquette et le fais glisser pour le redimensionner, la vue d'image disparaît avec les valeurs de x = 0, y = -64, hauteur = 0, largeur = 0.

RÉSUMÉ CONCIS:
Dans le storyboard Xcode 6.1, chaque fois que je redimensionne des éléments dans un UIViewController, tous les UITextViews et UIImageViews s'effondrent et sont poussés -64 pixels au-dessus de la partie supérieure coin gauche du contrôleur de vue.

MISE À JOUR
Il semble que Xcode 6.1.1 a corrigé le bogue.

37
Ethan G

Une autre solution consiste à ajouter des contraintes à la mise en page avant de redimensionner les vues. (ajouter des contraintes manquantes par exemple). Le bogue ne semble se produire que lorsqu'aucune contrainte n'est disponible. J'ai signalé le bogue à Apple avec Bugreporter.

Edit: Donc, au moins, il semble que Apple Bugreporter fonctionne. Le problème est résolu dans XCode v 6.1.1.

23
Jonas Sääv

Semble que c'est un bogue dans Xcode 6.1 !! La solution actuelle consiste à redimensionner vos éléments à partir de l'inspecteur de taille.

Ne faites jamais le redimensionnement par la souris ...

8
Nahar

Si vous décochez "Utiliser la mise en page automatique", cela ne se produira pas non plus. Cependant, vous êtes de retour à utiliser l'ancienne méthode "springs and struts". Pourtant, cela peut être défini sur une base de contrôleur de vue par contrôleur de vue, donc ce n'est pas trop mal.

1
Andrew Gene

J'avais le même problème. Je suis juste allé sur le site du développeur Apple et j'ai téléchargé la version bêta du nouveau Xcode et ils ont corrigé ce bogue!

Je viens d'installer XCode 6.2 Beta et le problème semble y être résolu.

0
patschiboy