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在完成加載後還需要一兩秒的時間進行渲染。你可以嘗試在做動畫之前添加一個延遲時間來顯示。 –