0

所以,我在我的一个方法中有这段代码,它生成一个新的随机词,在 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];
}
4

1 回答 1

3

UIWebview 在另一个线程中加载 HTML。当它完成时,它告诉它的委托webViewDidFinishLoad:

所以动画将首先显示。

您可以将 webview 的委托设置为自己并在webViewDidFinishLoad:

于 2012-12-10T15:08:16.390 回答