2010-04-15 3 views
3

Comment créer/préparer un CALayer hors écran, de sorte que lorsque la page est affichée, tout ce qu'il a à faire est d'afficher la couche préparée?Couche de rendu hors écran

Répondre

3

Rendez votre contenu dans un CGBitmapContext, retirez un objet CGImageRef de celui-ci et définissez-le comme le contenu du CALayer. Jetez un oeil à Creating a Bitmap Graphics Context pour l'exemple de code pour la plupart de cela.

Mais si votre vrai problème est que votre drawInContext: est trop lent, vous devriez d'abord chercher à le casser pour que vous puissiez tout pré-calculer quand les données changent et seulement faire drawInContext:. C'est généralement la meilleure approche. Ne pas pré-rendre le calque lui-même; pré-calculer tout ce dont vous avez besoin pour rendre le calque rapidement. Mais pour un dessin très compliqué, l'approche CGImageRef est utile.

Questions connexes