2017-01-09 30 views
0

當我用下面的代碼運行我的應用程序時,它只顯示第一幀,不會循環顯示其他圖像。動畫不是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) 
     } 
    } 

然後我設置animationStarttrue

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 
} 
+2

這可能是由於我的令人難以置信的愚蠢的問題,但你在哪裏調用'動畫()'函數? – Samantha

+0

我認爲這個問題,我應該怎麼做呢?我對這個 – bbb

+0

有點新,我個人會在'viewDidAppear'中調用它,但@ christian的回答可能也會起作用。 – Samantha

回答

0

你在哪裏調用函數animation()

我覺得viewDidLoad應該是這樣的

override func viewDidLoad() { 
    super.viewDidLoad() 
    //remove root view controller navigation bar 
    self.navigationController?.navigationBar.isHidden = true 
    animationStart = true 
    animation() //call animation 
} 
+0

非常感謝! <3 – bbb

+0

這是非常簡單的事情,但你可以接受作爲答案,如果它的工作? – christian

+0

@HBrown每當一個答案包含SO的解決方案,你應該完全接受它 –