1

我想使用MBProgressHUD库来查看项目中的加载窗格。通常我会使用此代码在屏幕上显示它:

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];

您可以看到myTask应该定义该函数并包含正在加载的代码。

但是我怎样才能在事件中使用这个showWhileExecuting方法呢?prepareForSegue我在我的故事板中推送视图,因此不涉及任何代码,我只是 Ctrl+Drag 到目标视图。我的意思是我没有任何代码可用于使用 with 的方法selector

我试图定义一个 null 方法并将其用于MBProgressHUD showWhileExecuting方法selector,但它不起作用。

我还尝试了以下方法在中使用selector,它有效但导致崩溃:

- (void)nullTask {
[HUD show:YES];
}

那么,有什么建议吗?在 IB 中使用 push segues 时,我应该在哪里定义MBProgressHUD正确显示它的方法?

4

1 回答 1

0

首先,查看该UIViewController方法的文档

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

这可能是您想要使用的方法。(无论何时使用此方法,都应在 IB 中设置 segue 的标识符,这样您就知道您来自正确的方法。)无论如何,这应该在原始文件中定义视图控制器。从那里你应该可以打电话[HUD show:YES];。我还没有尝试过,因此根据您调用阻塞方法的位置,您可能需要在调用显示和隐藏的位置(或关闭 HUD 的任何方法)进行调整。

祝你好运!

于 2012-08-02T13:35:04.923 回答