0

以下代码来自示例演示。

HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
    [self.navigationController.view addSubview:HUD];

HUD.delegate = self;
HUD.labelText = @"Loading";

[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];

它使用 .xibs 作为它的视图。我正在创建一个使用情节提要的应用程序。因此实例化HUD时initWithView方法没有navigationController。有没有办法在不使用 .xibs 和 navigationController 的情况下实现 HUD。我试过同时传递“self”和“self.view”,但它们不起作用。它所在的类是 ViewController.m 类,它是一个 UIViewController 类。所以我不明白为什么通过 self 不起作用。

这是我的代码

HUD = [[MBProgressHUD alloc] initWithView:self.view];
    [self.view addSubview:HUD];

再次“自我”是我的主要 ViewController

谢谢!

4

1 回答 1

1

这就是我认为你想要的:

MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:view];
[view addSubview:hud];    
[hud showWhileExecuting:@selector(YOUR_TASK) onTarget:YOUR_TARGET withObject:nil animated:YES];  // or NO if you don't want it to be animated

或者,如果您想自己手动管理显示和显示 HUD,有一些很好的便捷方法可以做到这一点:

// To add HUD to a view
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES];  // or NO if you don't want it to be animated

// To set HUD text
[hud setLabelText:@"Text"];

// To remove HUD from a view (such as later in the code, after load, etc)
[MBProgressHUD hideHUDForView:view animated:YES];

view您希望 HUD 添加/删除的视图在哪里。

self.view在视图控制器上。

于 2013-08-13T20:47:10.853 回答