iphone - right - addSubView to UIButton
uibutton right image (6)
¿Has intentado poner:
[asyncImage setUserInteractionEnabled:YES];
Estoy tratando de agregar subvistas a un UIButton. Esto está funcionando bien en este momento. Pero el botón ya no se puede hacer clic tan pronto como agregue las subvistas.
Yo uso el siguiente código:
UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(column*100+24, row*80+10, 64, 64);
[button addSubview:asyncImage];
[button addSubview:price];
[button addTarget:self
action:@selector(buttonClicked:)
forControlEvents:UIControlEventTouchUpInside];
El botón funciona nuevamente si elimino las 2 vistas adicionales. ¡Si alguien sabe cómo solucionar esto, sería genial!
THNX !!!
En Swift, prueba que tienes tu UIButton bloqueado
uibtn.userInteractionEnabled = false
uibtn.exclusiveTouch = false
En la misma ubicación, realizo esta acción: heredo de UIButton y agrego todas las etiquetas y la vista de imagen del botón, finalmente pongo un nuevo botón para ver como última subvista y agrego objetivos de botón a este último botón (también establezco backgroundColor para clearColor para transparente ) ahora se podrá hacer clic y funciona bien.
Encontré soluciones rápidas. Necesitaba establecer la imagen asíncrona a lo siguiente:
asyncImage.userInteractionEnabled = NO;
asyncImage.exclusiveTouch = NO;
¡Después de esto, funcionó!
Lo importante aquí es asegurarse de que userInteractionEnabled
se establezca en NO
. Afortunadamente, funciona inmediatamente para UIImageView
y UILabel
(quizás para otras subclases de UIView
pero esas son las subvistas más populares que se agregan al botón) porque de forma predeterminada para estas clases se establece en NO
de manera predeterminada. Lamentablemente, está configurado en YES
en UIView
así que asegúrese de cambiarlo en ese caso. No debería ser necesario jugar con otras banderas. La naturaleza del problema es que muchas personas no saben que el valor predeterminado de esta bandera es diferente en las subclases.
tratar:
[UIButton buttonWithType:UIButtonTypeCustom];
en lugar de:
[UIButton buttonWithType:UIButtonControlType];