2010-03-30 8 views

Respuesta

25

Al proporcionar contenido personalizado de cuarzo para mostrar dentro de un CALayer, puede anular -drawInContext: y hacer su dibujo personalizado allí. Esto es similar a -drawRect: para una UIView o NSView. Alternativamente, puede configurar otra clase para ser el delegado de CALayer e implementar -drawLayer:inContext: para proporcionar contenido personalizado a un CALayer estándar.

No reemplaza -renderInContext:, pero en su lugar puede invocar esto en una capa para representarla y todas sus subcapas en un contexto particular de Core Graphics. Tenga en cuenta que esto no generará ciertos tipos de capas (como las que tienen contenido OpenGL). Tampoco se comporta de la manera que esperaría al renderizar en un contexto PDF, donde las capas aparecerán como rectángulos de mapa de bits en lugar de elementos vectoriales puros. Para evitar esto, es posible que desee comprobar el Core Plot framework's CPTLayer implementation, donde omitimos el proceso de representación normal para preservar los vectores en un PDF generado desde nuestra subclase CALayer.

+0

Core Plot movido a [github] (https://github.com/core-plot) – lazi74

Cuestiones relacionadas