画面に 2 つの MBProgressHUD メッセージを次々に表示しようとしています。2 番目のメッセージが連続して表示されるのではなく、最初のメッセージと重なっていることがわかりました。これは私がやろうとしていることです:
これを起動して「saveCartNotification」を呼び出すログアウトボタンをクリックしています
- (IBAction)logout:(id)sender {
[self saveCartNotification];
}
「saveCartNotification」は、5 秒の遅延で MBProgressHUD を投稿し、「userLogOut」を呼び出します。
- (void)saveCartNotification{
self.hud = [[MBProgressHUD alloc] initWithView:self.view];
self.hud.labelText = @"Saving your cart..";
self.hud.mode = MBProgressHUDModeIndeterminate;
self.hud.dimBackground = YES;
self.hud.animationType = MBProgressHUDAnimationFade;
[self.view addSubview:self.hud];
[self.hud show:YES];
[self.hud hide:YES afterDelay:5];
[self.hud show:YES];
self.hud.labelText = @"Saving Cart and Favorites";
[self.hud hide:YES afterDelay:5];
//Logout
[self userLogOut];
}
userLogOut は、5 秒の遅延で別の MBProgressHUD メッセージを投稿するようになりました。
- (void)userLogOut{
self.hud = [[MBProgressHUD alloc] initWithView:self.view];
self.hud.labelText = @"Logging out securely";
self.hud.mode = MBProgressHUDModeIndeterminate;
self.hud.dimBackground = YES;
self.hud.animationType = MBProgressHUDAnimationFade;
[self.view addSubview:self.hud];
[self.hud show:YES];
[self.hud hide:YES afterDelay:5];
}
これらのメソッドを連続して呼び出しているため、予想される動作は次のとおりです。
1) 「saveCartNotification」からの MBProgressHUD メッセージ 2) 上記のメッセージは 5 秒間オンのままで消えます 3) 「userLogOut」からの MBProgressHUD メッセージ 4) 上記のメッセージは再び 5 秒間オンのままで消えます
しかし、何が起こっているのかというと、「userLogOut」からの MBProgressHUD メッセージが「saveCartNotification」からの MBProgressHUD メッセージと重なって、両方のメッセージが同時に画面に表示されるようです。
何が欠けているのか、メッセージを次々と受け取るにはどうすればよいのか教えてください。
あなたの助けに感謝します。
ありがとう、マイク