Me gustaría hacer una acción que si alguien toca un predeclared UILabel, algo así como:

if (label is touched) {
    my actions;
}

Hay un método o forma de hacerlo?

InformationsquelleAutor Matoe | 2011-06-12

5 Comentarios

  1. 47

    Usted podría usar un gesto de reconocimiento:

    - (void)someSetupMethod {
        //...
        label.userInteractionEnabled = YES;
        UITapGestureRecognizer *tapGesture = \
        [[UITapGestureRecognizer alloc]
         initWithTarget:self action:@selector(didTapLabelWithGesture:)];
        [label addGestureRecognizer:tapGesture];
        [tapGesture release];
    }
    
    - (void)didTapLabelWithGesture:(UITapGestureRecognizer *)tapGesture {
        //...
    }
    • Si tengo varios de la etiqueta, Entonces, ¿cómo reconocer que la etiqueta se toca ???
  2. 12

    Por defecto, UILabel no está configurado para aceptar la entrada táctil. Sin embargo, si utiliza un UIButton lugar y establecer la costumbre de tener un aspecto, usted puede hacer que se vea como una sola línea) de la etiqueta y tiene que responder a eventos de toque.

    • Esto era muy fácil de hacer! Gracias!
  3. 3

    Puede subclase y anular el toque métodos. Usted probablemente desee anular touchesEnded:withEvent:.

    O simplemente utilizar un UIButton.

  4. 0

    Usted necesita para asegurarse de userinteractionenabled se establece a YES y, a continuación, usted puede reemplazar la touchesBegan:withEvent:

Dejar respuesta

Please enter your comment!
Please enter your name here