2016-03-23 13 views
0

ProgressBarは、ループが終了したときの進捗状況を表示します。 この例ではバーをリアルタイムでどのように更新するのですか?ProgressBar表示のみ終了

@IBAction func btnStart(sender: AnyObject) { 
    for var xx:Float = 0 ; xx<=1.0; xx=xx+0.00001 { 
     progressView.setProgress(xx, animated: false) 
    } 
} 
@IBOutlet weak var progressLabel: UILabel! 
@IBOutlet weak var progressView: UIProgressView! 

答えて

1

メインループおよび現在のスコープの終了時にUIを更新のみ、

ので、この

@IBAction func btnStart(sender: AnyObject) { 
    NSThread.detachNewThreadSelector("process", toTarget: self, withObject: nil) 
} 

func process() { 
    for var xx:Float = 0 ; xx<=1.0; xx=xx+0.00001 { 
     dispatch_async(dispatch_get_main_queue(), { 
      progressView.setProgress(xx, animated: false) 
     }) 
    } 
} 

@IBOutlet weak var progressLabel: UILabel! 
@IBOutlet weak var progressView: UIProgressView! 
を試します
関連する問題