J'ai un UIImage
que je veux dessiner sur un UIView
. Mais au lieu de créer un UIImageView
et en ajoutant cela comme sous-vue, je veux écraser -drawRect:
et dessiner mon UIView directement.Comment dessiner un UIImage ou directement dans -drawRect :?
Par exemple, mon code ressemble:
- (void)drawRect:(CGRect)rect {
CGContextRef myContext = UIGraphicsGetCurrentContext();
UIImage *img = [UIImage imageNamed:@"foo.png"];
// how to draw the directly into the view now?
}
Il y a aussi '[img drawAtPoint: point]', bien que je préfère 'drawInRect:'. –
essayez d'éviter cette technique si vous le pouvez; drawInRect et drawAtPoint ont des performances assez terribles. – TomSwift
Merci. J'ai trouvé ceux-ci particulièrement utiles (combinés avec les modules complémentaires de dessin NSString UIKit) pour les vues qui contiennent des images d'arrière-plan et du texte, puis ajoutées à la vue déroulante. Dessiner l'image de fond et le texte ensemble dans drawRect: évite à Quartz de mélanger les couches (comme ce serait le cas si vous utilisiez l'approche des sous-vues UIImageView & UILabel) qui a un impact significatif sur les performances de défilement – cidered