6

MBProgressHUD操作が完了するまでインターフェイスをブロックする必要があります。このスレを参考にしましたが、

操作が完了するまでインターフェイスをブロックする

それによると、私にとってはうまくいかない個々のアイテムを無効にする必要があります。私の場合は、ユーザーが戻るボタンをクリックできないようにする必要があります。HUD.userInteractionEnabled = YES戻るボタン以外のすべてのコントローラーを無効にしてみました。ユーザーがそのコントローラーから飛び出すのをブロックする方法はありますか?

よろしく、
ディルシャン

4

4 に答える 4

11

それを行う適切な方法が見つからない場合は、次の方法でユーザーの操作全体を無視できます

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

.U でこれを止めることができます

[[UIApplication sharedApplication] endIgnoringInteractionEvents];
于 2012-07-16T12:30:38.620 に答える
11

MBProgressHUD をナビゲーション コントローラーのビューに追加して、戻るボタンとの相互作用も防ぐことができます。

[MBProgressHUD showHUDAddedTo:self.navigationController.view animated:YES];
于 2012-08-03T18:47:54.290 に答える
4

HUD が表示されているときに特定のコントロールを有効にしたい場合は、次のようにメソッドに行[self.view bringSubviewToFront:yourControl]; を追加するだけです。showHUD

-(void) showHUD:(UIView *)view
{

    if (self.HUDdisplayed == NO)
    {
        self.HUDdisplayed = YES;
        HUD = [[MBProgressHUD showHUDAddedTo:self.view animated:YES] retain];
    }
//    HUD.delegate = self;
    [self.view bringSubviewToFront:HUD];
     [self.view bringSubviewToFront:yourControl];

}
于 2012-12-12T12:54:11.030 に答える
0

これは、ビューに を追加する方法MBProgressHUDであり、削除されるまですべての入力をブロックします。

MBProgressHUD HUD = [[MBProgressHUD alloc] initWithView:self.view];
HUD.opacity = 0.7f;

[self.view addSubview:HUD];

HUD.delegate = self;
[HUD show:YES];

注: selfは、HUD が追加されるビュー コントローラーです。

于 2012-07-16T12:12:57.973 に答える