我有一个视图,该视图包含附加到GestureRecognizer的UIWebView(带有文本图像等)。 一旦点击了webView,它将翻转并在此Web视图上显示更新的文本,图像等。 我有与此识别器相关联的操作,如下所示:
- (IBAction)flipWebViewGestureRecognizer:(id)sender
{
// isFrontView is boolean to determine if card is front or back
if(self.isFrontOfView)
{
self.isFrontOfView = NO;
[UIView transitionWithView: self.imageView
duration: 1.0
options: UIViewAnimationOptionTransitionFlipFromTop
animations: ^{ [self loadBack]; }
completion: nil];
}
else
{
self.isFrontOfView = YES;
[UIView transitionWithView: self.imageView
duration: 1.0
options: UIViewAnimationOptionTransitionFlipFromTop
animations: ^{ [self loadFront]; }
completion: nil];
}
}
方法loadFront和loadBack如下(html本身缩短到最小):
- (void) loadFront
{
NSString *html = @"<p>Front Of Card</p>";
[self.viewWebView loadHTMLString:html baseURL:nil];
}
- (void) loadBack
{
NSString *html = @"<p>Front Of Card</p> <br /> <p>as well as back of card<p>";
[self.viewWebView loadHTMLString:html baseURL:nil];
}
从功能的角度来看,这很好。 可以翻转该卡,并使用新的HTML文本更新Web视图。 但是,对实际Web视图的更新发生在卡片已经完成翻转之后(在动画之后而不是在播放过程中)。 视图动画完成翻转后(而不是紧随其后),我该怎么办才能使viewWebView已经加载了更新的html。