¿Cómo crear un button UIB con degradado y resaltado?

Estoy tratando de crear un button UIB con un background degradado. Funcioné bien pero el button no se resalta (el comportamiento pnetworkingeterminado es que el button se oscurezca) cuando se selecciona.

aquí está mi button:

-(UIButton *)createLoginButtonForSize:(CGSize)size { UIButton *loginButton = [UIButton buttonWithType:UIButtonTypeCustom]; loginButton.translatesAutoresizingMaskIntoConstraints = FALSE; loginButton.layer.cornerRadius = 8; loginButton.titleLabel.text = @"Login"; [loginButton addTarget:self action:@selector(loginCheck:) forControlEvents:UIControlEventTouchUpInside]; [loginButton addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[loginButton(WIDTH)]" options:0 metrics:@{@"WIDTH": [NSNumber numberWithFloat:size.width]} views:NSDictionaryOfVariableBindings(loginButton)]]; [loginButton addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[loginButton(HEIGHT)]" options:0 metrics:@{@"HEIGHT": [NSNumber numberWithFloat:size.height]} views:NSDictionaryOfVariableBindings(loginButton)]]; CAGradientLayer *layer = [UIColor greenGradient]; layer.frame = CGRectMake(0, 0, size.width, size.height); layer.cornerRadius = 8; [loginButton.layer insertSublayer:layer atIndex:0]; return loginButton; } 

¿Necesito manejar el resaltado yo mismo?

Sí, deberá resaltar usted mismo. Sin embargo, en lugar de lanzar su propio código, debe revisar el increíblemente fácil de usar iPhone Gradient Buttons Project de Jeff Lamarche. Hace exactamente lo que intentas hacer. Son solo 2 files, por lo que es fácil de incorporar en su proyecto:

http://code.google.com/p/iphonegradientbuttons/source/browse/trunk/Classes/GradientButton.h http://code.google.com/p/iphonegradientbuttons/source/browse/trunk/Classes/GradientButton.m

Captura de pantalla a continuación tomada del blog de Jeff discutiendo el proyecto .

Botones gradientes sin imágenes