• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UITableview選択時にロード画面)

UITableview選択時に表示されるロード画面について

このQ&Aのポイント
  • UITableview の 件数が多いため表示に時間が一瞬引っかかったような動きをしてしまいます。セル数が、100件を超えているため、分けたり一度にロードさせないというのも手かと思いますが、処理中に、ロード画面を表示し対応させたいと考えています。
  • 他サイト様を確認し、セルの生成スピードを上げる改善策も試しましたがまだ引っかかってしまいます。
  • MBProgressHUDを利用しているのですが、表示と解除させるタイミングが分かりません。参考になるサイトやアイディアございましたら、ご教授頂けますと光栄です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> didSelectRowAtIndexPath の先頭で performSelector を使い表示させた場合、件数が少なく処理が早く終わった場合、解除されなくなってしまいました。 performSelectorを使うなら、 didSelectRowAtIndexPathの中で 1.インジケーター表示開始処理 2.performSelectorで「別のメソッド」を呼び出す (performSelectorはafterDelayパラメータ付きにするか performSelectorOnMainThreadを使う) 「別のメソッド」の中で 1.時間のかかる処理を行う 2.インジケーター表示解除処理 という構造になっていれば、うまくインジケーターの表示/解除が できるはずです。 解決しない場合は、もう少し具体的な実装イメージを 示した方がよいと思います。

RYO-88
質問者

お礼

いつも、ご回答本当にありがとうございます。 インジケータ表示処理を別メソッドにしているのが原因でした。 教えて頂いた通りインジケータ表示を、didSelectRowAtIndexPath で実行し その後の処理を afterDelayパラメタ付きで別メソッドとして 実行するようし修正したところ、理想の状態になりました。 本当にありがとうございました。

関連するQ&A