Cómo deshabilitar el botón de efecto de resaltado en el clic? Tiene botón personalizado con blanco color de fondo y DarkGray el color del texto. El problema es que el texto se convierte en blanco en el botón haga clic en. Ya lo intentaron, pero ninguno de ellos funcionó:

una. Hizo desmarque «, Destacó Ajusts Imagen» en el interface builder.

b. Trató de establecer destacó = NO en el botón presionado método:

((UIButton *)sender).highlighted = NO

c. Trató de establecer el mismo título para highlihted estado:

[button setTitle:[button titleForState:UIControlStateNormal] forState:UIControlStateHighlighted];

Alguna sugerencia?

  • Es usted el uso de storyboards.
  • cuando usted dice que destacar efecto, se significa que el texto cambia de color?
  • También se utiliza una imagen para el botón?
InformationsquelleAutor Centurion | 2013-07-08

8 Comentarios

  1. 13

    UIButton se destacó en el clic, de modo botón de comprobación de la configuración de
    Cambiar el color del título en resaltar el estado de configuración del mismo como estado predeterminado
    O usted puede configurar:

    [button setTitleColor:[UIColor blackColor] forState:UIControlStateHighlighted];

    Si quieres controlar Destacó por su código, usted puede deshabilitar normal destacó por la subclase Botón y desactivar en touchesBegin:

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
        if (self.state == UIControlStateHighlighted) {
            [self setHighlighted:NO];
        }
    }
  2. 42

    Usted también podría hacer que los UIButton tipo : custom de StoryBoard

    Cómo deshabilitar UIButton destacado en el clic?

    Esta que tira abajo cualquier comportamiento del sistema para usted. (Creo que)

    • Esto funcionó a la perfección para mí.
    • Después de un buen búsqueda me topé con tu respuesta. Añade un aspecto importante, que resolvió mi problema: El Tipo=comportamiento del Sistema añadirá un efecto de fundido para el resaltado de la imagen de fondo y el texto. El cambio a Type=Personalizada va a desactivar este efecto por lo que exactamente los colores especificados serán mostrados. Gracias!
    • esto no cuando el uso de imágenes
    • El tipo personalizado funciona a la perfección
    • esta respuesta debe estar a la derecha de la marca…. la respuesta perfecta
    • Esta es la respuesta

  3. 19

    Esta es una solución para los botones que tienen las imágenes. En el guión gráfico, hay una propiedad llamada HighlightedAdjustsImage que está activado por defecto. Deshabilitar el botón y el de la imagen no se mostrará ningún destacó propiedades.

    • Perfecto, @Rajeev! Trabaja en Xcode 8.2.
  4. 10

    Swift 4 con XCode 9

    Desmarque «, Destacó Ajustar la Imagen de la» y si desea quitar la movilidad de fondo desmarque «Desactivado Ajuste de la Imagen» demasiado.

    Asegúrese primero de su tipo de botón es «Personalizado»

    Cómo deshabilitar UIButton destacado en el clic?

  5. 7

    viejo anticuado respuestas, y la vieja pregunta, pero la más nueva y más sencilla es:

        overlayButton.adjustsImageWhenHighlighted = false
  6. 6

    Ninguna de las soluciones que he encontrado en internet trabajado para mí (incluyendo estos que aparecen aquí), así que terminé haciendo esto en mi personalizado UIButton subclase:

    //swift:
    
    override var isHighlighted: Bool {
        didSet { if isHighlighted { isHighlighted = false } }
    }

    También tengo el buttonType conjunto para .custom, pero probablemente no hace ninguna diferencia aquí.

    Y ahora: no más extraño resaltado de color o animaciones!

  7. 1

    Mis 2 centavos de dólar 😉 Swift 3 listo

    class CustomButton: UIButton {
    
        override var isHighlighted: Bool {
            didSet {
                if (isHighlighted) {
                    super.isHighlighted = false
                }
            }
        }
    
    }

    Situación y la Historia

    Me había puesto imágenes para UIControlState.normal y UIControlState.selected, por lo que el establecimiento UIButton.isSelected = true muestra seleccionada de la imagen, de lo contrario la imagen normal.

    El problema que nos encontramos fue cuando UIButton.isSelected = true, y durante resaltar foco (por tap presionado el botón y descartar toque, deslice rápidamente el dedo de distancia) botón de muestra de la imagen para UIControlState.normal, que se veía bastante feo a mi jefe 😀

    He intentado varias soluciones, tales como UIButton(type: UIButtonType.custom) y UIButton.adjustsImageWhenHighlighted = false, ninguno ayuda 🙁

  8. 1

    Usted puede hacer esto mediante la creación de la extensión en Swift 4.2

    extension UIButton {
    open override var isHighlighted: Bool {
        didSet {
            super.isHighlighted = false
        }
    }}

Dejar respuesta

Please enter your comment!
Please enter your name here