我有这个动画块

  UIView.animate(withDuration: 0.5, animations: {
            self.holdingView.alpha = .5
        }, completion: { (complete) in
            if complete {
                self.holdingView.removeFromSuperview()
            }
        })
    }


但是无论出于什么原因,从未在iPhone上调用完成处理程序,而是在运行iOS 9.3.5的itouches上运行,但奇怪的是,在运行iOS 9.3.5的iPad Mini上调用了完成处理程序。

这一直很难调试,因为我在控制台中没有任何错误。此外,在所有iOS版本> 9.3.5上,完成处理程序都称为

任何帮助或见识将不胜感激。

最佳答案

我只是面临类似的问题。我正在以一系列方式使我的观点动起来。
我猜complementHandler正在尝试连接到先前的动画。我按照以下步骤删除了所有动画,并且一切顺利。

对于您的情况,请尝试以下操作:

self.holdingView.layer.removeAllAnimations()
UIView.animate(withDuration: 0.5, animations: {
            self.holdingView.alpha = .5
        }, completion: { (complete) in
            if complete {
                self.holdingView.removeFromSuperview()
            }
        })
    }

10-08 01:21