动画在 Swift 3 Xcode 8.1 中没有动画
Animation not animating in Swift 3 Xcode 8.1
当我 运行 我的应用程序使用以下代码时,它只显示第一帧而不循环显示其他图像。
class ViewController: UIViewController, UITextFieldDelegate {
var signUpMode = true
var activityIndicator = UIActivityIndicatorView()
@IBOutlet weak var emailText: UITextField!
@IBOutlet weak var passwordText: UITextField!
@IBOutlet weak var signIn: UIImageView!
//Animated sign in
var counter = 0
var animationStart = false
var timer = Timer()
func animateSignIn() {
signIn.image = UIImage(named: "frame_\(counter)_delay-0.04s.gif")
counter += 1
if counter == 128 {
counter = 0
}
}
func animation (){
if animationStart == true {
timer = Timer.scheduledTimer(timeInterval: 0.04, target: self, selector: #selector(ViewController.animateSignIn), userInfo: nil, repeats: true)
}
}
然后我将animationStart
设置为true
:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//remove root view controller navigation bar
self.navigationController?.navigationBar.isHidden = true
animationStart = true
}
你在哪里调用函数 animation()
?
我觉得viewDidLoad
应该是这样的
override func viewDidLoad() {
super.viewDidLoad()
//remove root view controller navigation bar
self.navigationController?.navigationBar.isHidden = true
animationStart = true
animation() //call animation
}
当我 运行 我的应用程序使用以下代码时,它只显示第一帧而不循环显示其他图像。
class ViewController: UIViewController, UITextFieldDelegate {
var signUpMode = true
var activityIndicator = UIActivityIndicatorView()
@IBOutlet weak var emailText: UITextField!
@IBOutlet weak var passwordText: UITextField!
@IBOutlet weak var signIn: UIImageView!
//Animated sign in
var counter = 0
var animationStart = false
var timer = Timer()
func animateSignIn() {
signIn.image = UIImage(named: "frame_\(counter)_delay-0.04s.gif")
counter += 1
if counter == 128 {
counter = 0
}
}
func animation (){
if animationStart == true {
timer = Timer.scheduledTimer(timeInterval: 0.04, target: self, selector: #selector(ViewController.animateSignIn), userInfo: nil, repeats: true)
}
}
然后我将animationStart
设置为true
:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//remove root view controller navigation bar
self.navigationController?.navigationBar.isHidden = true
animationStart = true
}
你在哪里调用函数 animation()
?
我觉得viewDidLoad
应该是这样的
override func viewDidLoad() {
super.viewDidLoad()
//remove root view controller navigation bar
self.navigationController?.navigationBar.isHidden = true
animationStart = true
animation() //call animation
}