我想在实例化一些需要一些时间的 ui 元素时更新进度条。我首先在 viewLoad 方法中创建我的视图并在那里添加我的进度条。一旦我的视图出现在 viewDidAppear 方法中,我正在实例化几个 uikit 对象,但我想同时更新进度条。我不确定如何继续,因为一切都应该发生在主线程中,因为它是 ui 元素。
这是我的代码的一部分:
-(void) viewDidAppear:(BOOL)animated
{
// precompute the source and destination view screenshots for the custom segue
self.sourceScreenshotView = [[UIImageView alloc] initWithImage:[self.view pw_imageSnapshot]];
[self.progressBar setProgress:.3];
SCLViewController *rvc = [[SCLViewController alloc] init];
UIView *destinationView = rvc.view;
destinationView.frame = CGRectMake(0, 0, kWidthLandscape, kHeightLandscape);
self.destinationScreenshotView = [[UIImageView alloc] initWithImage:[destinationView pw_imageSnapshot]];
[self.progressBar setProgress:.5];
}
在上面的代码中,我只需要创建两个视图的屏幕截图,以便以后使用它们。问题是我在将进度设置为进度条时只看到最后一次更新(.5)。进行此更新的正确方法是什么?