2016-08-15 7 views
0

UIButtonが押されたときに実行される計算コードが十分です。しかし、ボタンを押すと、全体のビューがちょうど立ち往生し、計算が終了するまでボタンは強調表示されたままになります。 たとえば、ボタンを押したときにローディングビューの.hidden = falseを設定しますが、ローディングビューは計算中に表示されません。UIButtonが押されたときに全面表示が固まらない

これを修正する方法はありますか?

ありがとうございます!

+1

ポストいくつかのコードを、我々はマルチスレッドが滑らかUXするためのキーである – Carpsen90

+2

を手助けしようとすることができるようにします。計算をメインスレッドに入れないでください。 'UIButton'を押すと、読み込みダイアログを表示し、別のスレッドを起動して、計算が完了したら読み込みダイアログを削除します。 – Raptor

答えて

3

あなたがUI上で実行する更新からバックグラウンドで物事を行う必要があります:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { 
    // do your task 

    dispatch_async(dispatch_get_main_queue()) { 
     // update some UI 
    } 
} 
+0

私はこれをボタンアクションの中に入れますか? –

+0

はい、あなたは –

+0

ありがとう!今は動作しますが、計算時間のような継ぎ目はいつもよりですか?それは普通ですか? –

関連する問題