gpt4 book ai didi

ios - MBprogressHUD 未按预期显示

转载 作者:行者123 更新时间:2023-11-28 18:36:58 31 4
gpt4 key购买 nike

我正在使用 MBProgressHUD显示 HUD,但未按预期显示。

步骤:用户在 tableView 中选择一个单元格。解析一些数据然后向用户显示警告 (UIAlertView)。系统会询问用户是否要与所选(单元格)用户一起创建新游戏。取消/开始游戏按钮。

UIAlertView委托(delegate)方法如下:

pragma mark - UIAlertView Delegate

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSLog(@"button %i",buttonIndex);
if (buttonIndex == 0) {
// Cancel button pressed
self.gameNewOpponentuser = nil;
} else {
// Start Game button pressed
[MESGameModel createNewGameWithUser:[PFUser currentUser] against:self.gameNewOpponentuser];
}
}

如果用户选择开始游戏,GameModel 方法就会运行。游戏模型(NSObject子类)方法如下:

pragma mark - 自定义方法

+(void)createNewGameWithUser:(PFUser *)user1 against:(PFUser *)user2 {
// First we put a HUD up for the user on the window
MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithWindow:[UIApplication sharedApplication].keyWindow];
HUD.dimBackground = YES;
HUD.labelText = NSLocalizedString(@"HUDCreateNewGame", @"HUD - Create New Game text");
HUD.removeFromSuperViewOnHide = YES;

// Confirm we have two users to play with.

}

如您所见,HUD 已将初始化分配给应用程序的关键窗口。然而,HUD 没有按预期显示,没有任何反应,没有 UI 锁定等。我在上面的方法中放置了一个断点,可以看到它被调用但是 HUD 没有显示

从上面的内容来看,我希望 HUD 会出现,但没有其他任何事情发生,即 HUD 目前只是留在屏幕上...

最佳答案

您缺少将 HUD 添加到 Window 然后显示 HUD 的部分。请注意,您可以将 HUD 添加到 Window 或当前 View (self.view)。

MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithWindow:[UIApplication sharedApplication].keyWindow];
[[UIApplication sharedApplication].keyWindow addSubview:HUD]; //<-- You're missing this

HUD.dimBackground = YES;
HUD.labelText = NSLocalizedString(@"HUDCreateNewGame", @"HUD - Create New Game text");
HUD.removeFromSuperViewOnHide = YES;

[HUD showAnimated:YES whileExecutingBlock:^{ //<-- And this
// Do something
}];

关于ios - MBprogressHUD 未按预期显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16958441/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com