viewDidAppear() 运行 每次点击

viewDidAppear() running on every click

我正在尝试为两个文本字段和一个标签创建动画幻灯片。然而,出于某种原因,每次您尝试单击文本字段时,viewDidAppear() 函数都会运行,导致它们继续动画。有人有什么想法吗?

这是我的函数代码:

override func viewDidAppear(animated: Bool)
{
    //Some Code here
    UIView.animateWithDuration(1.5, delay: 0.5,
                               usingSpringWithDamping: 0.3,
                               initialSpringVelocity: 0.5,
                               options: [], animations: {
                                self.Email.center.x += 475
                                self.Password.center.x -= 400
        }, completion: nil)

    UIView.animateWithDuration(2.0, delay: 2.0,
                               options: [],
                               animations: {
                                self.LoginButton.alpha = 1.0
        }, completion: nil)
    UIView.animateWithDuration(1.5, delay: 0.5,
                               usingSpringWithDamping: 0.3,
                               initialSpringVelocity: 0.5,
                               options: [], animations: {
                                self.LoginL.center.y += 100
        }, completion: nil)

}

尝试 运行 viewWillAppear,您的动画将 运行 只有当您的屏幕第一次加载时。

我们发现问题出在 UIViewController 的生命周期 - 它需要调用 super.viewDidAppear(animated)