settitle guidelines apple iphone objective-c cocoa properties uibutton

iphone - guidelines - uicontrolstate swift



UIButton.layer.cornerRadius no existe? (2)

Estoy implementando un UIButton personalizado con funcionalidad mínima. El archivo .h:

#import <Foundation/Foundation.h> @interface CustomButton : UIButton { } @end

Estoy encontrando un error de compilación en la línea (A) en el archivo .m:

- (id)initWithCoder:(NSCoder *)coder { if(self = [super initWithCoder:coder]) { CALayer *layer = [self layer]; NSLog(@"layer=%@",layer); NSLog(@"delegate=%@",[layer delegate]); #ifdef __IPHONE_3_0 layer.cornerRadius = 4.0f; // (A) error: request for member ''cornerRadius'' in something not a structure or union #endif } return self; }

Si comento la línea (A), obtengo el siguiente resultado:

2009-10-08 17:35:06.681 MyApp[2596:4e07] layer=<CALayer: 0x3cdf520> 2009-10-08 17:35:06.683 MyApp[2596:4e07] delegate=<CustomButton: 0x3cdaff0; baseClass = UIButton; frame = (9 212; 255 55); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x3cdf520>>

Según la documentation , CALayer debe tener una propiedad cornerRadius. Estoy usando iPhone SDK 3.1 e incluso agregué un #ifdef para confirmar esto.

¿Puede alguien por favor mostrarme donde he pasado por alto lo obvio?

Gracias


Asegúrese

#import <QuartzCore/QuartzCore.h> en su encabezado o archivo de implementación.


Prueba esto,

#import <QuartzCore/QuartzCore.h> Button.layer.cornerRadius = 15.0; [Button.layer setMasksToBounds:YES];