J'ai 150 UIViewController dans Storyboard et le défilement entre ces vues est si lent. Je ne peux pas zoomer et zoomer facilement et il faut du temps sérieux pour faire de la lune. P>
Je suis sur MBPR et j'ai installé Xcode 4.4 P>
SPECTURE: 2.3GHZ / 16G / 256, ce qui, je pense qu'il suffit de gérer une telle chose. p>
Y a-t-il des options, des paramètres ou des conseils / astuces pour avoir tant de vues sur Storyboard et ne manquez pas les performances. P>
Remarque: J'ai terminé toutes les solutions possibles (supprimer le cache et l'espace de travail). N'a pas fonctionné. Il a quelque chose à voir avec le nombre d'UIViewController dans Storyboard. P>
merci p>
update 2016 strong>: Juste pour mettre à jour cette question car il existe une nouvelle fonctionnalité dans Xcode 7 qui vous permet de refroidir le storyboard dans plusieurs scénario. P>
Si vous recherchez le terme "storyboards de refactoring", vous trouverez de bons tutoriels :) P>
4 Réponses :
150 ViewContrôtes dans une scénario sonne énormément pour moi. Essayez de minimiser votre flux ou divisé en plusieurs storyboards si vous avez vraiment besoin de tant de p>
Salut mate, sonne horrible mais y a-t-il une limitation à l'aide de storyboard? La chose est qu'il n'y ait rien de savoir combien de vues peuvent être dans le storyboard. Je les lis tous et il n'y en avait pas. J'ai essayé de les réduire et d'afficher du contenu de manière dynamique mais ce n'est pas pour moi le client le faisait avant et je fais juste une modernisation majeure. Je viens de demander à la curiosité de voir s'il y a des astuces / astuces autour ou même une limitation. Merci pour votre réponse. Et n'a pas pensé à la division à deux storyboards. Merci.
Utilisez définitivement plusieurs storyboards pour cela. Je ne suis pas au courant d'aucune limitation d'utilisation de storyboards, mais essayant de resserrer tout ce code d'interface utilisateur à une fois est difficile pour votre machine et il est également difficile pour les développeurs de comprendre. P>
Essayez de diviser logiquement vos storyboards en catégories telles que: "Profilésb, Feillesb, MapsB, Messagessb, ParamètresB" P>
Voici quelques bons tutoriels sur la création de celles-ci:
http://spin.atomicObject.com/2014/02/18/ iOS-Storyboards-Xcode5 /
http://www.skillmasters.net/main/xcode-utilisateur-multiple- storyboards / p>
Pour compléter cette réponse dans une version plus récente de xcode, refactoring storyboards développeur.apple.com/library/ios/recipes/...
J'ai eu un Mon approche consistait à configurer les vues à l'intérieur de l'utilisateur p> lors du chargement du menu, Je boucle via le dans mon cas, il y avait juste un problème avec le Segues Après avoir séparant le utistoryboard code> avec 10 ou plus
uiviewcontrollers code> et supplémentaire
contentions code>. Après avoir appliqué les vues et la personnalisation de plus en plus, le
utistoryboard code> est de plus en plus paresseux.
uistoryboards code>. Chargement des contrôleurs est effectué à l'intérieur de mon menu, où je configurais un
nsarray code> avec tous les identificateurs pour le
uiviewcontroller code> qui doit également être configuré à l'intérieur du
utistoryboard code> : p>
nsarray code> et chargez le
uiviewcontrolsers code> par identifiant du
utistoryboard spécifique code>. C'est l'endroit où je devais implémenter un commutateur, pour les différents
uistoryboards code>: p>
UINAVIGATIONCONTROLLER code> de mon
UIViewControls code>. Les segues ne pousseront pas à une entreprise de navigation, s'il n'y a pas d'initiale
UinavigationController code>. C'est pourquoi j'ai ajouté un
uinavigationController code> sur chaque
uiviewcontroller code> (de mon nsarray) afin que le
utistoryboardancaire code> soit fait correctement. Le
UINAVIGATIONController CODE> n'a également pas besoin d'être connecté à une classe, il suffit d'inclure-le à l'intérieur du
utistoryboard code> et de le connecter au premier
uiviewcontroller code>. < / p> p>
Il est considéré comme une meilleure pratique pour diviser les storyboards en lots de modules différents (chacun dans un story-boot séparé). Il enlèvera ces problèmes de performance que vous rencontrez et propose également d'autres avantages, tels que la gestion plus facile à gérer en général (aucun conflit massif de SVN, etc.). P>
Cependant, j'ai eu un autre problème qui causait un retard de scénario. J'avais environ 25 contrôleur d'affichage et recevait beaucoup de retard - mais seulement lorsque Xcode fonctionnait sur un moniteur externe. P>
J'ai remarqué que si j'ai désactivé "la mise en page automatique" pour le storyboard, le décalage serait complètement disparu. J'ai retourné ce changement, puis j'ai suivi le processus suivant: -Delete a ViewController -Test s'il est toujours à la traîne -Si toujours laggy revenir à des modifications p>
Finalement, j'ai trouvé une certaine zone de vue qui, si elle est supprimée, arrêtez tout le décalage. Je l'ai ensuite retourné et avons traversé les vues pour voir quelle vue a causé le décalage. J'ai finalement réduit cela à un "Uibutton" à l'intérieur d'un "Uibarbuttonitem". Je crois que j'ai changé la propriété "Type" sur le bouton, puis la modifiait et le décalage s'est arrêté. De SVN, il semble que le cadre ait été changé dans le fichier .storyboard. Après ce point, le décalage n'a jamais revenu. P>
TLDR: Le décalage de scénario n'est pas toujours parce que vous avez trop d'articles dans le storyboard. J'ai réussi à me débarrasser d'un problème de lag en provoquant une certaine présentation de Xcode. P>
J'espère que mon expérience aidera quelqu'un d'autre à diagnostiquer / résoudre leurs problèmes. Je travaillais depuis environ 0,5 ans avant que je me suis enfin vraiment ennuyé et j'ai essayé de résoudre le problème. P>
Bingo! J'avais une lenteur incroyable et mon storyboard n'a que 7 contrôleurs de vue. Deux des VCs avaient un uibutton dans un barbouttonitem. J'ai supprimé ces boutons et la vitesse instantanée. Maintenant, je connais la cause, sur la recherche d'une solution ...
Hey @swany, comme je l'ai dit dans mon poste, je les ai supprimés et que je les ai ré-ajoutés et que cela réinitialisait les cadres qui ont arrêté le décalage insensé. Essayez de les ajouter de les ajouter, cela pourrait fonctionner pour vous.
@Rufusmall Re-Ajout de boutons n'a pas fonctionné pour moi. Depuis que je suis dans un peu de crunch, je les ajoute maintenant en code et tout est heureux. Je reviendrai quand le temps le permet.
Ok, s'il vous plaît laissez-moi savoir si vous trouvez une solution pour le faire fonctionner parfaitement. J'ai aussi fait quelque chose de "commutation" des styles de boutons, etc. alors peut-être que c'était en fait ce qui l'a résolu. Je me souviens juste que la source .stortoryboard semblait exactement la même chose en SVN, juste avec différentes lectures pour le cadre. Bonne chance.
Je semble avoir le retard lorsque sur le moniteur externe. Déplacé du moniteur externe, pas de retard.
Oui, avoir un décalage sur le moniteur externe uniquement.
Merci pour la pointe du moniteur externe! J'ai passé des heures à essayer de savoir pourquoi mon storyboard était soudain inutilisable, et c'est parce que j'ai déplacé la fenêtre Xcode sur un autre moniteur.
Ha pas de problème! Je trouve vraiment ça vraiment étrange. Peut-être que quelqu'un devrait ouvrir un billet radar avec Apple pour le faire trier. Surpris que le problème soit toujours autour.
Avez-vous déjà résolu votre problème? Peut-être que vous pouvez marquer la bonne réponse
oh mon frère !!, 150 VC, sentir la douleur: -