2010-07-07 9 views
2

Je suis novice en programmation. J'ai une vue de défilement permise de pagination avec beaucoup de pages (jusqu'à dix) et sur chaque page j'ai un bouton fait sur commande. Chaque bouton personnalisé a une image personnalisée. Tout ce que j'ai fait dans Interface Builder. Lorsque je charge le contrôleur de vue contenant cette vue de défilement, il faut beaucoup de temps pour le charger car il charge toutes les pages. Comment puis-je améliorer le temps de chargement? Puis-je implémenter la technique de chargement paresseux dans mon cas? Si oui, comment exactement, parce que je suis un débutant. Merci d'avance!Améliorer les performances dans scrollview

Répondre

3

Vous pouvez certainement. Il existe plusieurs exemples de vues de défilement où le contenu est chargé/déchargé dynamiquement lorsque vous faites défiler.

Le blog suivant m'a aidé à en venir: http://cocoawithlove.com/2009/01/multiple-virtual-pages-in-uiscrollview.html

Vous voulez également vous assurer de ne pas utiliser [UIImage imageNamed:] à moins que vous devez. Cette méthode a une mise en cache interne, qui est très floconneuse et peu fiable, et si vous chargez un nombre suffisant de grandes images, votre application sera décapitée assez rapidement - utilisez plutôt par exemple. [UIImage imageWithContentsOfFile:]. Il y a une discussion de ceci sur SO ici: Difference between [UIImage imageNamed...] and [UIImage imageWithData...]? - si vous ne savez pas comment aborder les choses, lisez ceci et décidez par la suite.

Espérons que ça aide.

+0

J'ai tout fait dans Interface Builder. C'est le point difficile. – Sania

+0

Êtes-vous en train de dire que vous avez mis les images dans le constructeur de l'interface? Vous ne les ajoutez pas à la vue de défilement après le lancement de l'application? Peut-être pourriez-vous mettre à jour votre réponse et inclure le code dans lequel vous ajoutez ces images (à moins que vous ne les ayez insérées via le constructeur d'interface). – Kalle

+0

Oui, je mets des images sur chaque bouton avec Interface Builder. – Sania

Questions connexes