0

したがって、このコードをメソッドの1つに含めます。このコードは、新しいランダムな単語を生成し、それを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:

したがって、アニメーションが最初に表示されます。

Webビューのデリゲートを自分自身に設定し、でアニメーションを行うことができますwebViewDidFinishLoad:

于 2012-12-10T15:08:16.390 に答える