J'ai un UIImage
que je veux dessiner sur un UIView
. Mais au lieu de créer un UIImageView
et de l'ajouter en tant que sous-vue, je veux écraser -drawRect:
et dessine mon UIView directement.
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?
}
Appel [img drawInRect:rect];
.
BTW, vous ne devez pas charger le fichier image dans la méthode drawRect. Parce que la méthode est appelée chaque fois que la vue doit être mise à jour. Par conséquent, il (bien sûr, la procédure de chargement) peut être appelé plusieurs fois pendant l'exécution. (De plus, la méthode imageNamed d'OS2.x a un bogue - elle n'a pas mis en cache l'image et l'a divulguée.)
Par conséquent, vous feriez mieux de charger le fichier dans la méthode d'initialisation, pas dans drawRect.