我有一个UIViewController,从中我可以看到模态视图。

[self presentViewController:modal animated:YES completion:nil];

它有两个UIBarButtonItems(名为取消保存)。我正在对保存按钮点击执行一些操作。我在SVProgressHUD方法上显示-saveButtonTapped指示器。
- (IBAction)saveButtonTapped:(id)sender
{
    NSLog(@"Modal Save Pressed.");
    [SVProgressHUD showWithStatus:@"Loading..."];
    // Some other code...
}

问题是指示器没有显示在我的ModalView前面。它开始动画,但在ModalView之后,而不是前面。

发生了什么事:

UIViewController ===> SVProgressHUD ===> ModalView

我想要的是:

UIViewController ===> ModalView ===> SVProgressHUD


searched,但没有找到任何解决方案。

为什么会发生这种情况以及如何解决此问题?

最佳答案

最后,我必须使用NSThread来解决问题。

实际上,我从-postForEditDispatch方法中调用了一种名为-saveButtonTapped的方法。我使用-detachNewThreadSelector:toTarget:withObject:创建了一个单独的线程,并尝试在该线程上调用该方法。

示例代码:

- (IBAction)saveButtonTapped:(id)sender
{
    NSLog(@"Modal Save Pressed.");
    [SVProgressHUD showWithStatus:@"Loading..."];
    // Some other code...

    [NSThread detachNewThreadSelector:@selector(postForEditDispatch:) toTarget:self withObject:nil];
}

09-12 13:05