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)
。
我正在尝试为两个文本字段和一个标签创建动画幻灯片。然而,出于某种原因,每次您尝试单击文本字段时,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)
。