所以,我在我的一个方法中有这个代码,它生成一个新的随机单词,在Web视图中显示它,然后动画页面卷曲从当前单词转换到新单词。理想情况下,这应该卷曲旧视图,并在页面下方显示新视图。
目前,动画发生(页面卷曲),然后新内容在完成卷曲后加载(意味着卷曲下面的页面上有旧词,直到卷曲完成,此时新卷曲出现)。我不知道为什么会这样,有人能够向我解释一下吗?这可能与我的[dictionary]
对象无法快速返回的数据有关吗?
NSString *word = [dictionary randomWord];
NSString *htmlDefinition = [dictionary getHTMLFor: word];
[self.randomDefinitionWebView loadHTMLString: htmlDefinition baseURL: nil];
[UIView transitionWithView: self.randomDefinitionWebView
duration: 1.5
options: UIViewAnimationOptionTransitionCurlDown
animations: ^ { }
completion: nil];
}
答案 0 :(得分:3)
UIWebview在另一个线程中加载HTML。完成后,它会告知其代理人webViewDidFinishLoad:
因此动画将首先显示。
您可以将webview的委托设置为自己,并在webViewDidFinishLoad: