2009-07-28 14 views
8

2つの行を持つグループ化されたUITableViewがあり、ボタンのトグルでいくつかの行をアニメーション化しています。問題は、私が使用している行アニメーションタイプ(上部&の下)の場合、アニメーションがひどく見えることです!ここでは、スクリーンショット半ばアニメーションです:グループ化されたUITableViewの行アニメーションの癖

Example http://files.michaelwaterfall.com/images/uitableview-animation.png

はそれがそんなに悪い見ている理由はありますか?または、すべてのグループ化されたテーブルビューのアニメーションは、このショッキングを見ますか?

セクションの最初または最後の行がアニメーション化されているときにしか見えないと思うので、ちょっと見た目を良くするための方法があるかどうか疑問に思っています。さもなければ、私はreloadDataを呼び出して、それがすべて現われるようにすると思います。

ありがとうございました!

マイケル

+0

私はアニメーションで問題を抱えていたことがありませんが、私は唯一のグループ化されていないスタイルを使用しました。私はいくつかのことを試したら答えます。 – TahoeWolverine

+0

画像のリンクが有効ではないようです。それをimgurにアップロードして再リンクしたいですか? – brandonscript

答えて

12

UITableViewの複数の行を同時に削除、追加、または移動する場合は、これらの呼び出しをすべてbeginUpdatesendUpdatesで囲む必要があります。さもなければ結果は未定です。例えば

[tableView beginUpdates]; 
[tableView insertRowsAtIndexPaths:newRows 
        withAnimation:UITableViewRowAnimationTop]; 
[tableView deleteRowsAtIndexPaths:invalidRows: 
        withAnimation:UITableViewRowAnimationTop]; 
[tableView endUpdates]; 
+0

ああ、私はできるだけ早くそれを試してみよう!お返事をありがとうございます! –

0

よく見えないものがあります。静止画からは分かりにくいです。

残念ながら、テーブルビューの挿入/削除アニメーションは制御できません。それはすべて高レベルのUITableView APIによって処理されます。

唯一の別のオプションは、アニメーションを別々に連続して実行し、それがより良く見えるかどうかを確認することです。私はいくつかの人工物を排除するためにこれをしました。

また、フェードイン/アウトのような異なるアニメーションを試してみてください。派手ではありませんが、状況によってはよりよく見えます。

0

私はアニメーションを問題なくグループ化されたテーブルビューで使用しましたが、それはいつも偉大に見えました。コードの一部を共有するのはどうですか?おそらく、あなたはセルビルディングで何か間違っていることをしているか、行の挿入には至りません。

+0

もちろん大丈夫ですが、できるだけ早くコードを投稿します! –

0

他の人が言っているように、いくつかのコードを投稿すると役に立ちます。

beginUpdates/endUpdatesブロック内ですでに複数の挿入/削除を行っていますか?

0

今後の参考のために、#6931544を参照してください。私は半ば遷移は、以下で除去することができるこれらの任意の行を見つけた: -

[self.tableView setSeparatorStyle:UITableViewCellSelectionStyleNone]; 
関連する問題