ios – 在swift中删除动画

前端之家收集整理的这篇文章主要介绍了ios – 在swift中删除动画前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个文本字段,用户应该输入信息.以及将用户指向文本字段的标签(如提示).

我想在用户按下文本字段输入数据后停止动画并删除提示标签.

文本标签上有重复的动画.创建者:

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           
    )

之后我创建了一个删除注释的函数

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

应根据文件工作.

即使我看到打印在控制台中的字符串,我的标签仍然闪烁.我想问题是动画重复,但不知道如何解决这个问题.

解决方法

//Just remove the animation from the label. It will Work

 func remove()

{
    self.hintLabel.layer.removeAllAnimations()
    self.view.layer.removeAllAnimations()
    self.view.layoutIfNeeded()

}

更新:

如果你想要核,你也可以这样做:

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

猜你在找的iOS相关文章