2011-01-13 9 views
0

IBを使用せずに動的に作成されフォーマットされたテーブルを含むプロジェクトがあります。問題は、ローテーション中にテーブルが値とサイズの両方を変更する必要があることです。ただし、サイズ変更は不安定で、アニメーション中に突然発生します。現在私はdidRotateメソッドを使用しています。そのメソッドでは、サイズを変更するためにreloadメソッドを呼び出しています。これを行うには別の方法を使用すべきですか、とにかくサイズ変更を少なくとも滑らかにするにはどうしたらいいですか?回転時にリロード中にテーブルセルのサイズ変更をスムーズアウト

編集:willRotateToInterfaceOrientation :,またはおそらく2つのステップのアニメーション内で置換/サイズ変更を使用しようとしています。しかし、これらのメソッドは決して呼び出されません。これはビュー階層(サイズを変更しようとしているビューは分割ビューの一部です)のためですか?

答えて

0

didRotateメソッドに変更を加えるときにアニメーションを使用するように指示しますか?たとえば、フリップトランジションを行うコードスニペットを次に示します。キーは、 "beginAnimations"と "commitAnimations"を使って、iPhoneにこれらの変更をどのように処理するかを伝えることです。その間のコードは変更を記述します。 "commitAnimations"が呼び出されると、変更は魔法のようにアニメ化されます。

[UIView beginAnimations:@"leftPortrait" context:nil]; 
[UIView setAnimationDelegate:self]; 
[UIView setAnimationDuration:1.0f]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:leftView cache:YES]; 
[leftWebView setFrame:CGRectMake(0, 0, 384, 916)]; 
[UIView commitAnimations]; 

+0

私はあなたがここで何をしているのか正確に理解していますが、残念ながら私はフリップアニメーションなどを使用できません。回転中にスムーズなリサイズが必要です。私は2部構成のローテーションを検討していますが、まだ適切に動作していないようです。 – russ36363

+0

申し訳ありませんが、おそらく私は十分に明確ではありませんでした。私はあなたがフリップ・トランジションをSEEを使用することを示唆していませんでしたが、それを例として使用しています。しかし、beginAnimationsとcommitAnimationsを使用し、それらの文の途中でサイズ変更を行うと、スムーズに移行する必要がありますか? – jschmidt

関連する問題