Ich versuche, die drawRect:
Methode von UIView in meiner benutzerdefinierten Ansicht zu überschreiben. Doch meiner Meinung nach definiert eine Grenzradius hat als:UIView überschreiben drawRect bewirkt, dass view nicht gehorcht masksToBounds
sub = [[[NSBundle mainBundle] loadNibNamed:@"ProfileView" owner:self options:nil] objectAtIndex:0];
[self addSubview:sub];
[sub setUserInteractionEnabled:YES];
[self setUserInteractionEnabled:YES];
CALayer *layer = sub.layer;
layer.masksToBounds = YES;
layer.borderWidth = 5.0;
layer.borderColor = [UIColor whiteColor].CGColor;
layer.cornerRadius = 30.0;
Dies funktioniert perfekt und stellt eine schöne Grenze mit einem Grenzradius um meine Ansicht (nicht die diagonal/gerade weiße Linien auf der Rückseite dagegen, sie haben nichts mit dieser Ansicht zu tun):
Allerdings, wenn ich versuche, die drawRect:
Methode meiner Ansicht nach außer Kraft zu setzen, kann ich ein schwarzer Hintergrund nicht zu Grenzen Maskierung sehen. Ich mache keine etwas (derzeit), hier ist mein Code:
-(void)drawRect:(CGRect)rect{
[super drawRect:rect];
}
Und hier ist das Ergebnis:
ich nichts anderes als die Zeichenmethode geändert haben. Wie kann ich die Zeichenmethode überschreiben, während meine Ansicht der Eckenradiusmaske gehorcht? Ist das ein Fehler in iOS oder fehlt mir etwas?
Dies ist die richtige Antwort. – Randy