voglio solo disegnare un semplice rettangolo per una vista utilizzando la seguente funzione:UIBezierPath semplice rettangolo
- (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];
}
}
Il codice di cui sopra si riempie la vista con sfondo nero pianura, al di fuori del rettangolo non è trasparente. Come posso risolvere questo?
Edit:
La soluzione qui di seguito funziona, ma questo sta lavorando anche:
[self setOpaque:NO];
Questo è un esempio migliore di una domanda di quanto pensassi sarebbe stato. C'è un codice esistente, errato, la spiegazione del problema e il risultato desiderato. È un peccato che non conosca la risposta! –
Non riesco a riprodurre il problema con il tuo codice, ma forse non dovresti chiamare '[super drawRect: rect]', confronta http://stackoverflow.com/questions/14074281/subclassed-uiview-shows-black-background-if -drawRect-è-sovrascritto. –
grazie per i commenti :), ho provato ma si comporta allo stesso modo. – flatronka