Ce n'est pas vraiment une question parce que je viens de résoudre le problème, mais je pense que la nature du problème est commun pour beaucoup de développeurs iPhone et la solution n'a pas été vraiment clairement évident, donc je voulais partager mon expérience Pour conserver le format "question/réponse" StackOverflow, je vais mettre les détails dans la question et ma solution dans la réponse.UITableView Les performances de défilement avec CALayer + masque
Détails:
J'ai eu une tableview pleine de cellules avec deux étiquettes et un contrôle personnalisé interrupteur à bascule je mis en place à partir de zéro. Si je me suis caché le contrôle à bascule, le tableau a défilé comme un champion. Cependant, avec le contrôle à bascule montré, le défilement était douloureusement agité/lent sur l'iPhone 3G. Mes cellules tableview n'ont aucun composant transparent (autre que le masque pour la couche) et je réutilise des cellules.
La commande à bascule sur commande étend UIButton et cette couche comporte deux composants - un UIImageView qui contient le coulissement partie « commutateur » de la bascule et une ellipse allongée qui est utilisée comme masque, avec un arrière-plan établi derrière la couche en -drawRect:
.
Comment avez-je résoudre ce problème? Réponse à venir sous peu ...