我试图在屏幕上一个接一个地显示 2 MBProgressHUD 消息。我发现第二条消息与第一条消息重叠,而不是连续出现。这就是我想要做的:
我有一个注销按钮单击它会触发它并调用“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 消息重叠。
您能否让我知道我缺少什么以及我需要做些什么才能一个接一个地收到我的消息。
非常感谢您的帮助。
谢谢,迈克