2011-12-13 5 views
1

タップするとセルを展開するセクションヘッダーを持つtableViewを実装しました。これはかなりセクションヘッダ上だけ大きなボタンSiと、それが押されたとき、私はセルを削除する必要がある計算してから呼び出す:SectionHeaderアニメーションを開く/閉じる

[tableView beginUpdates]; 
//delete necessary cells 
[tableView endUpdates]; 

私の問題は、このアニメーションです。 1つのセクションを開き、別のセクションを開くか、同じものを閉じるときに、テーブルビューをスクロールする必要はありません。しかし、テーブルビューをスクロールして別のビューを開くと、非常に奇妙なことが起こります。セクションヘッダーの1つが画面の下部にスライドしてから、その場所に戻ります。アニメーションの場合は、deleteRowsAtIndexPathsWithAnimationと呼び、反対の挿入メソッドは自動tableViewアニメーションタイプを使用します。誰がなぜこれが起こるのか知っていますか?

私のプログラムと同じことをするTVAnimationsGestures(テーブルビューを検索するだけです)というリンゴのサンプルコードがあります。あなたがコードと問題をより深く見たいのであれば、それをチェックしてください。

おかげで、チェックする

+0

私はなぜそれが起こるのかわかりませんが、セクションタイトルの動作と関係があると思います。スクロールすると、セクションタイトルは画面の上部または下部に「収集」され、次のセクションタイトルに置き換えられます。これにより、テーブルビューが歪んでいる可能性があります。 – gurooj

+0

グーーーーーありがとう、私はあなたが何かにいるかもしれないと思う。私は、テーブルビューが元の場所から移動されたときにのみ起こることが奇妙に感じます。 –

+0

セクションタイトルの特別なアニメーションが呼び出されるときでなければなりません。 – gurooj

答えて

0

一つのことは、あなたがnumberOfSectionInTableViewとnumberOfRowsInSectionに返す値です。

私は、テーブルビューのスクロールでそれらのメソッドを呼び出す必要があると思うので、テーブルビューの行数に戻っているものが一致しない場合、奇妙なことが起こります。

このように、行を削除するときには、セクション内の行数も更新されていることを確認してください。

+0

アイデアをありがとう、しかしこれは私がすでにこれを正しく処理していると信じているので問題ではありません。 –

関連する問題