2

私はSDWebImagePrefetcher自分のplistから画像のリストをプリフェッチするために使用しています。

MBProgressHUD進行状況を示すHUDを表示するUIViewControllerを割り当てようとしてメソッドを編集していました。

問題は、HUDがまったく表示されないことです。さらに、SDWebImagePrefetcherはでNSObjectあり、カスタムUIViewControllerとHUDを初期化する場所がわかりません。これにはviewDidLoadviewWillAppearメソッドがないためです。

私は次のようなことをしようとしました

MyCustomViewController *cv = [[MyCustomViewController alloc]init];
HUD = [[MBProgressHUD alloc]initInView:cv.view];

動作しませんでした。

また、UIAlertViewをviewControllerのsubViewとして追加して、機能するかどうかを確認しようとしましたが、まったく機能しませんでした。

割り当てられたコントローラーにHUDを表示するために、NSObjectクラスのUIViewControllerをどこで初期化するかについてのアドバイスは素晴らしいでしょう。

4

1 に答える 1

4

任意のクラスのを表示したい場合はMBProgressHUD簡単です。アプリケーションのkeyWindowに追加するだけです。これはアプリケーションの最上位のウィンドウであり、どこからでも簡単にアクセスできます。

UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];

MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:keyWindow animated:YES];
hud.labelText = @"Loading";

MBProgressHUDそして、あなたがちょうど使用を隠したいとき

[hud hide:YES];

アプリのメインウィンドウが設定されるまで、必ずkeyWindowにアクセスするのを待ってください。これは起動時に発生します。プログラムで設定されている場合は、を呼び出すことでAppDelegateにあります[window makeKeyAndVisible]

于 2012-09-30T00:28:33.407 に答える