Ich möchte nur ein einfaches Rechteck auf einen Blick ziehen, um die folgende Funktion:UIBezierPath einfaches Rechteck
- (void)drawRect:(CGRect)rect {
[super drawRect:rect];
if (self.drawTextBouble) {
[[UIColor blueColor] setFill];
UIBezierPath *aPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(40, 0, 230, 120) cornerRadius:12.0];
[aPath fill];
}
}
Der obige Code die Ansicht mit einfachen schwarzen Hintergrund füllt, außerhalb des Rechtecks nicht transparent ist. Wie kann ich das beheben?
Edit:
Die Lösung unten funktioniert, aber das funktioniert auch:
[self setOpaque:NO];
Dies ist ein besseres Beispiel für eine Frage als ich dachte, dass es sein würde. Es gibt einen fehlerhaften Code, eine Erklärung des Problems und das gewünschte Ergebnis. Es ist eine Schande, dass ich die Antwort nicht kenne! –
Ich konnte das Problem mit Ihrem Code nicht reproduzieren, aber vielleicht sollten Sie '[super drawRect: rect]' nicht aufrufen, vergleiche http://stackoverflow.com/questions/14074281/subclassed-uiview-shows-black-background-if -drawrect-is-overridden. –
danke für die Kommentare :), habe ich versucht, aber verhält sich genauso. – flatronka