2011-08-16 17 views
7

¿Es posible establecer esquinas redondeadas en una capa de UIView y anular -drawRect: al mismo tiempo? Actualmente, la llamada -drawRect: parece anular las esquinas redondeadas de la capa y hacer que vuelvan a aparecer angulosas, incluso si el -drawRect: solo contiene una llamada al super -drawRect:.Esquinas redondeadas de la capa UIView y -drawRect:

Respuesta

15

self.opaque = NO no funcionó para mí. El ajuste self.layer.masksToBounds = YES funcionó, sin embargo (probado en iOS 4.3):

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if(self) 
    { 
     self.layer.cornerRadius = 6.0f; 
     self.layer.masksToBounds = YES; 
    } 
    return self; 
} 
+0

Lo mismo aquí. 'self.opaque = NO' no lo hizo, pero' masksToBounds = YES' sí. – mahboudz

3

Establezca la propiedad opaca en NO. Recuperarás tus esquinas redondeadas.

-(id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if(self) 
    { 
     self.layer.cornerRadius = KCORNERRAD; 
     self.opaque = NO; 

    } 
    return self; 
}