2009-07-25 7 views
0

J'ai enfin terminé ma première grande application, le seul problème est que j'ai beaucoup mis l'accent sur la conception, et j'utilise des plumes personnalisées comme des cellules avec des arrière-plans transparents. Lorsque j'ai essayé de tester l'application sur mon iPhone, la performance était terrible.Transparent custom UITableViewCell

Existe-t-il un moyen d'améliorer les performances de défilement tout en utilisant des cellules transparentes avec un ImageView derrière UITableView?

J'ai lu deux articles principalement:
blog.atebits.com/2008/12/fast-scrolling-in-tweetie-with-uitableview/ cocoawithlove.com/2009/04/easy-custom-uitableview -drawing.html

Cela semble bon, mais si je veux utiliser des cellules transparentes?
a) Utilise une couleur unie.
b) Utilise l'image comme arrière-plan.

Toute aide sera grandement appréciée. Je veux que ce bébé soit libéré le plus tôt possible, mais la performance comme elle est maintenant est terrible!

Répondre

0

Tout d'abord, arrêtez d'utiliser les plumes. Chaque fois qu'une cellule est créée, vous frappez le disque pour désarchiver la plume. 3.1 va effectivement améliorer cela, mais d'ici là, créez votre cellule en code.

Ensuite, supprimez la transparence partout où vous le pouvez. Tout ce qui n'a pas besoin d'être transparent ne devrait pas l'être. Et tout ce qui n'est pas transparent doit avoir la propriété opaque définie sur YES. Une troisième suggestion est que si vous utilisez beaucoup de sous-vues, vous verrez un avantage de performance en utilisant une vue personnalisée pour dessiner tout au lieu d'un tas de sous-vues. Si vous choisissez d'utiliser cette route, vous devez prendre en compte son comportement lors de la rotation en mode paysage (par exemple, comment l'action s'étend) ou si vous avez des contrôles qui doivent gérer les contacts séparément de la cellule elle-même.

+0

Je suis entièrement d'accord avec vous sur les sous-vues et opaque.Le problème est ce que feriez-vous si vous aviez cellule personnalisée qui doit être transparente et devrait montrer l'image de fond de l'application comme massage de tableview? –