Objective c 动画前的代码在动画完成后才执行?
因此,我的一个方法中有这段代码,它生成一个新的随机单词,在web视图中显示它,然后设置一个页面卷曲动画,从当前单词过渡到新单词。理想情况下,这应该卷起旧视图,并在下面的页面上显示新视图 目前,动画发生(页面卷曲),然后在完成卷曲后加载新内容(这意味着卷曲下面的页面上有旧单词,直到卷曲完成,此时新单词出现)。我不知道为什么,有人能解释给我听吗?这可能与我的Objective c 动画前的代码在动画完成后才执行?,objective-c,ios,multithreading,core-animation,Objective C,Ios,Multithreading,Core Animation,因此,我的一个方法中有这段代码,它生成一个新的随机单词,在web视图中显示它,然后设置一个页面卷曲动画,从当前单词过渡到新单词。理想情况下,这应该卷起旧视图,并在下面的页面上显示新视图 目前,动画发生(页面卷曲),然后在完成卷曲后加载新内容(这意味着卷曲下面的页面上有旧单词,直到卷曲完成,此时新单词出现)。我不知道为什么,有人能解释给我听吗?这可能与我的[dictionary]对象返回的数据不够快有关吗 NSString *word = [dictionary randomWord]; NSSt
[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];
}
UIWebview在另一个线程中加载HTML。当它完成时,它告诉它的委托
webviewdiffinishload:
因此,动画将首先显示
您可以将webview的委托设置为您自己,并在
webViewDidFinishLoad:
UIWebview在另一个线程中加载HTML中执行动画。当它完成时,它告诉它的委托webviewdiffinishload:
因此,动画将首先显示
您可以将webview的代理设置为您自己,并在
webViewDidFinishLoad:
中进行动画制作,恐怕这不起作用。代码肯定是在webviewdiffinishload
方法中执行的,但在动画完成之前,它仍然不会加载新内容。这与页面卷曲的工作方式有关吗?Web视图在完成加载后也需要一两秒钟的时间来渲染。您可以尝试在制作动画之前添加一个延迟,以给它显示时间。我担心这不起作用。代码肯定是在webviewdiffinishload
方法中执行的,但在动画完成之前,它仍然不会加载新内容。这与页面卷曲的工作方式有关吗?Web视图在完成加载后也需要一两秒钟的时间来渲染。您可以尝试在执行动画之前添加延迟,以给它显示时间。