Creo que hay mejores soluciones para este problema que las que ha propuesto , pero para responder a su pregunta directamente: una subclase de UIButton observa los eventos táctiles de la misma manera que todos los demás observan los eventos táctiles.
// In your UIButton subclass
- (instancetype)initWithFrame:(CGRect)frame {
self = [super buttonWithType:UIButtonTypeCustom];
if (self) {
[self addTarget:self action:@selector(didTouchButton) forControlEvents:UIControlEventTouchUpInside];
}
return self;
}
- (void)didTouchButton {
// do whatever you need to do here
}
Nota importante: no se puede utilizar para crear su [UIButton buttonWithType:]
botón, usted tiene que utilizar init
o initWithFrame:
. Aunque UIButton tiene el inicializador de conveniencia, initWithFrame:
sigue siendo el inicializador designado.
¿Qué quiere decir con 'click event'? – dandan78
http://stackoverflow.com/search?q=%2Bsubclass+%2Buibutton&submit=search – vikingosegundo
@dandan78 Quiero que mi botón realice alguna acción cuando se presiona. Quiero que esta lógica esté contenida dentro de mi botón. Para proporcionar un poco más de detalle, estoy creando una aplicación donde cada botón reproduce un sonido, por lo que quiero que cada uno de mis botones también encapsule una instancia de AVAudioPlayer, que debería reproducirse cuando se hace clic en el botón. –