在加载视图之前显示加载指示符

时间:2012-12-28 15:26:33

标签: objective-c ios cocoa-touch mbprogresshud

我有一个观点,这个视图在加载时需要一些时间,因此在我点击“向我显示视图”按钮后,加载需要2秒钟。

这次我没有问题,但是我想在按下按钮之前添加“正在加载”消息,直到显示新视图。

我正在使用MBProgressHUD,但我正在使用不同的线程加载视图,所以这不是一个好主意。


我到目前为止的代码

[MBProgressHUD showHUDAddedTo:self.view animated:YES];
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
    [self presentModalViewController:testViewController animated:YES];

    dispatch_async(dispatch_get_main_queue(), ^{
        [MBProgressHUD hideHUDForView:self.view animated:YES];
    });
});

我只想显示“loading”,直到下一个视图实际加载为止。 使用这种方法,我在下一个视图中遇到了大量问题,因为在主线程中没有执行viewDidLoad方法。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您要做的是在主线程上加载另一个视图,加载视图后显示MBProgressHUD。然后使用dispatch_async方法执行在后台运行一段时间的操作。