我有一个观点,这个视图在加载时需要一些时间,因此在我点击“向我显示视图”按钮后,加载需要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
方法。
知道如何解决这个问题吗?
答案 0 :(得分:1)
您要做的是在主线程上加载另一个视图,加载视图后显示MBProgressHUD
。然后使用dispatch_async
方法执行在后台运行一段时间的操作。