1

バックグラウンド スレッドの実行中に何らかの形式の読み込み表示を使用したいと考えています。の使用を検討しましたActivity Indicator viewが、それだけでは不十分だと感じています。読み込み中のユーザー操作を防止できるようにしたいので、UIAlertView でホストすることを考えました。ただし、Apple が次のように述べていることをThe UIAlertView class is intended to be used as-is and does not support subclassing. The view hierarchy for this class is private and must not be modified.確認しました。結果として、UIAlertView に読み込みインジケーターを配置することをためらっています。

ここで他の例を見ましたが、そのいくつかはCustom UIAlertViewアプローチを示唆しています。最善のアプローチや方向性は何ですか?

UIAlertView をカスタマイズするとアプリが拒否されると考えるのは正しいですか?

ありがとう

4

5 に答える 5

2

MBProgressHUD を使用すると、バックグラウンド スレッドで作業が行われている間、インジケーターやラベルを含む半透明の HUD が表示されます。MBPreogressHUD、詳細については例を参照してください

于 2013-11-11T11:01:00.450 に答える
0

MBProgressHUD 標準ライブラリを使用できます。このリンクからダウンロードしてください

まもなく、次のようにできます。

[MBProgressHUD showHUDAddedTo:self.view animated:YES];
[MBProgressHUD hideHUDForView:self.view animated:YES];

このMBProgressHUD リンクは、それを理解するのに役立ちます

于 2013-11-11T11:02:17.270 に答える
0

私はこのようなことをしました。私がしたことは、ウィンドウ全体を覆う半透明の黒いビューを使用したことです。このオーバーレイでイベントをトラップして、下のコンポーネントをクリックスルーしないようにします。これは問題ありません。アプリは App Store にあります。

于 2013-11-11T11:00:49.883 に答える
0

MBProgressHUD を見てください - これのために正確に構築されました - https://github.com/jdg/MBProgressHUD

于 2013-11-11T11:01:08.993 に答える
0
  1. 通知を作成し、非同期スレッドのコールアウト ブロックでメイン スレッドに送り返します。
  2. 半透明の新しい特別なアクティビティ ビュー コントローラーを作成し、それself.viewを追加UIActivityViewします。カスタマイズされたビューで UIEvents をトラップし、self.view として設定します。
  3. このコントローラーをリスナーとして通知に追加します。
  4. 非同期処理が開始されたら、self.view と同様に、このビュー コントローラーを子コントローラーとして既存のコントローラーに追加します。
  5. 通知が Activity View Controller 通知トリガー メソッドに到達したら、View Controller と同じように、スーパービューからそのビューを削除します。ti Activity View Controller です。

このようにして、それを使ってやりたいことをより柔軟に行うことができます。

于 2013-11-11T11:26:05.037 に答える