Tengo un UIImage
que quiero dibujar en un UIView
. Pero en lugar de crear un UIImageView
y agregar esto como una subvista, quiero sobrescribir -drawRect:
y dibujar mi UIView directamente.Cómo dibujar un UIImage o directamente en -drawRect :?
Por ejemplo, mi código es el siguiente:
- (void)drawRect:(CGRect)rect {
CGContextRef myContext = UIGraphicsGetCurrentContext();
UIImage *img = [UIImage imageNamed:@"foo.png"];
// how to draw the directly into the view now?
}
También hay '[img drawAtPoint: point]' también, aunque prefiero 'drawInRect:'. –
intenta evitar esta técnica si puedes; drawInRect y drawAtPoint tienen un rendimiento bastante terrible. – TomSwift
Gracias. Encontré estos especialmente útiles (combinados con los complementos de dibujo de UIKit de NSString similares) para las vistas que contienen imágenes de fondo y texto y luego se agregaron a la vista de desplazamiento. Dibujar la imagen de fondo y el texto juntos en drawRect: evita que Quartz mezcle las capas (como lo haría si usa UIImageView y UILabel subviews) que tiene un impacto significativo en el rendimiento de desplazamiento – cidered