6

ボタンが押されたらアクティビティインジケータービューを表示しようとしていますが、表示したくありません。まったく非表示に設定しないと表示され、非表示にしようとすると非表示になります。ただし、非表示にすると、再び表示されることはありません。

コードは次のとおりです。

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
    loading.hidden = true
}

@IBAction func submit() {
    loading.hidden = false
    loading.startAnimating()
    if chosenCategory == "" || txtName.text == "" || txtEmail.text == ""    {
        loading.stopAnimating()
        loading.hidden = true
    } else {
        println("animation")

何があっても、停止アニメーションは機能し、非表示にすることもできますが、何をしても、スキップしloading.hidden = falseてメッセージを直接印刷するように見えます。

何が起こっている可能性がありますか?

4

2 に答える 2

6

GCD (Grand Central Dispatch) ルーチンを使用します。

    self.activityIndicator.startAnimating()
    self.activityIndicator.hidden = false

    dispatch_after(DISPATCH_TIME_NOW, dispatch_get_main_queue(), { ()->() in
        ... // your long running code here

        self.activityIndicator.stopAnimating()
    })
于 2014-09-09T18:53:33.533 に答える