我MBProgressHUD
用来显示 HUD,但未按预期显示。
步骤:用户在tableView
. 解析一些数据,然后UIAlertView
向用户显示警告 ( )。询问用户是否要使用所选(单元格)用户创建新游戏。取消/开始游戏按钮。
UIAlertView
委托方法如下:
杂注标记 - UIAlertView 委托
-(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 只是暂时留在屏幕上......