Ho un UIImage
che voglio disegnare su un UIView
. Ma invece di creare un UIImageView
e aggiungerlo come sottoview, voglio sovrascrivere -drawRect:
e disegnare direttamente il mio UIView.Come disegnare un UIImage o direttamente in -drawRect :?
Per esempio, il mio codice è simile:
- (void)drawRect:(CGRect)rect {
CGContextRef myContext = UIGraphicsGetCurrentContext();
UIImage *img = [UIImage imageNamed:@"foo.png"];
// how to draw the directly into the view now?
}
C'è anche '[img drawAtPoint: point]', anche se preferisco 'drawInRect:'. –
cerca di evitare questa tecnica se puoi; drawInRect e drawAtPoint hanno prestazioni piuttosto terribili. – TomSwift
Grazie. Ho trovato questi particolarmente utili (in combinazione con i simili componenti aggiuntivi di disegno NSString UIKit) per le viste che contengono immagini di sfondo e testo e quindi aggiunti alla vista di scorrimento. Disegnare l'immagine di sfondo e il testo insieme in drawRect: evita che Quartz si unisca ai livelli (come farebbe se si utilizzasse l'approccio di sottoview UIImageView e UILabel) che ha un impatto significativo sulle prestazioni di scorrimento – cidered