基本上我正在尝试实现一个动画,它将在返回原始文本之前将标签的文本替换几秒钟.我已经设法让标签在3秒后更改文本并淡出,但是我无法弄清楚如何在动画完成后将文本返回到原始状态.
这是我目前拥有的:
@IBAction func fade() {
userMessageLabel.alpha = 100
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(3)
userMessageLabel.text = "Name is not valid!"
userMessageLabel.alpha = 0
UIView.commitAnimations()
}
Run Code Online (Sandbox Code Playgroud)
我需要文字标签返回"请输入你的名字"
任何帮助将非常感激.
我通过使用延迟解决了这个问题:
userMessageLabel.text = "Name is not valid!"
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3) {
userMessageLabel.text = "Please enter your first name"
}
Run Code Online (Sandbox Code Playgroud)
我的解决方案包括从这个答案略微简化延迟
您似乎已经知道如何将文本设置为淡出或淡出.如果需要,可以将动画代码添加到asyncAfter延迟功能中
| 归档时间: |
|
| 查看次数: |
3724 次 |
| 最近记录: |