1

Kann mir jemand dabei helfen. Ich muss einen benutzerdefinierten Zeichnungscode in -drawRect eingeben, damit ich UIImage unterklassifizieren konnte. Wie initialisiere ich meine benutzerdefinierten UIImage mit einem Bild? Angenommen, ich überschreibe die imageName-Methode. Was müsste ich bei dieser Methode tun? Nach dem Initialisieren kann ich es zu einem UIImageview wie so initwithImage hinzufügen :?Subclassing UIImage und Hinzufügen zu UIImageView

Antwort

2

Wenn Sie benutzerdefinierte Zeichnung erstellen möchten, erstellen Sie keine Unterklasse von UIImage, Unterklasse UIView, und fügen Sie die Unterklassenansicht an der Stelle hinzu, an der die benutzerdefinierte Zeichnung erstellt werden soll. Machen Sie alle Ihre Zeichnung direkt in der -drawRect: Methode von UIView. Ein Beispiel für das Zeichnen einer diagonalen blauen Linie:

-(void) drawRect:(CGRect)rect { 
    CGContextRef g = UIGraphicsGetCurrentContext(); 
    CGContextMoveToPoint(g,self.frame.origin.x,self.frame.origin.y); 
    [[UIColor blueColor] setStroke]; 
    CGContextAddLineToPoint(g,CGRectGetMaxX(self.frame),CGRectGetMaxY(self.frame)); 
}