visuales reducir quitar movimiento efectos animaciones ios swift animation swift2 uiviewanimation

ios - reducir - Eliminar la animación en forma rápida



quitar animaciones ipad (1)

Tengo un campo de texto donde el usuario debe ingresar información. Y una etiqueta que apunta al usuario al campo de texto (como una sugerencia).

Quiero detener la animación y eliminar la etiqueta de sugerencia una vez que el usuario presiona el campo de texto para ingresar datos.

Hay animación repetitiva en la etiqueta de texto. Fue creado por:

override func viewDidLoad() { super.viewDidLoad() textInput.addTarget(self, action: #selector(CalculatorViewController.removeAnimation(_:)), forControlEvents: UIControlEvents.TouchDown) self.hintLabel.alpha = 0.0 UIView.animateWithDuration(1.5, delay: 0, options: .Repeat , animations: ({ self.hintLabel.alpha = 1.0 }), completion: nil )

Después de eso, he creado una función para eliminar la anotación

func removeAnimation(textField: UITextField) { view.layer.removeAllAnimations() self.view.layer.removeAllAnimations() print("is it working?!") }

Debería funcionar de acuerdo a la documentación.

Mi etiqueta sigue parpadeando aunque veo la cadena impresa en la consola. Supongo que el problema es que la animación se repite pero no tengo idea de cómo resolver este problema.


//Just remove the animation from the label. It will Work func remove() { self.hintLabel.layer.removeAllAnimations() self.view.layer.removeAllAnimations() self.view.layoutIfNeeded() }

Actualizar:

Si quieres convertirte en nuclear, podrías hacer esto también:

func nukeAllAnimations() { self.view.subviews.forEach({$0.layer.removeAllAnimations()}) self.view.layer.removeAllAnimations() self.view.layoutIfNeeded() }