Tengo un UILabel y me gustaría hacer reaccionar a un toque. He intentado poner un botón en la parte superior de la etiqueta, gracias a esto he podido interactuar con el botón. Sin embargo, el botón no puede ser totalmente transparente, derecho? Podría establecer un alfa de el botón para 0,02, pero todavía es visible en el fondo. Cómo resolver esto? Tal vez podría establecer las propiedades de alguna otra manera de hacerlas totalmente invisible? O hay alguna otra solución?

InformationsquelleAutor Jakub | 2011-03-05

3 Comentarios

  1. 50

    Primero, ¿por qué no usar simplemente un botón y ajuste el botón de título de la etiqueta del contenido?

    Si usted no puede/no quiere hacer eso, usted también puede establecer userInteractionEnabled = YES en la etiqueta y, a continuación, agregue un gesto de reconocimiento a la etiqueta.

    • ver el comentario de Josh Brown abajo
    • +1 para «userInteractionEnabled = YES». Gracias!
  2. 8

    En Swift:

    label.userInteractionEnabled = true
    let gestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("labelPressed"))
    label.addGestureRecognizer(gestureRecognizer)

    Conseguir tus haga clic en Acción :

    func labelPressed(){
        print("Label pressed")
        //Your awesome code.
    }
  3. 7

    Me suelen hacer esto:

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(pushAction)];
    [myLabel addGestureRecognizer:tap];

    No sé si funciona con etiquetas, pero luego me acaba de hacer una transparente UIView con el mismo rect y colóquelo en la parte superior.


    Bueno, que yo sepa, solo trabaja en UIView, pero luego, hacer esto:

    UIView *tapView = [[UIView alloc] initWithFrame:myButton.frame];

    Y poner «tapView» en el addGestureRecognizer-método.

    • El UITapGestureRecognizer funciona en UILabels – sólo necesita establecer userInteractionEnabled = YES en el UILabel.

Dejar respuesta

Please enter your comment!
Please enter your name here