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];
}
做动画,这恐怕没有奏效。该代码肯定是在'webViewDidFinishLoad'方法中执行的,但是在动画完成之前它仍然不加载新的内容。这与页面卷曲的工作方式有关吗? – Luke
Webviews在完成加载后还需要一两秒的时间进行渲染。你可以尝试在做动画之前添加一个延迟时间来显示。 –