2016-05-02 5 views
0

私は、複数のセクションと各セクションのセクションヘッダーとセクションフッターでTableViewを実装しました。ユーザーが1つのセルをテープすると、より多くのセルがアニメーション形式で挿入されます。 aded行がアニメーション化し、テーブルビューのコンテンツの位置を変えが一定である: は、私は、データモデルを更新し、これは期待通りに動作し、トップ行にUITablleViewはスクロールせずにアニメーションを挿入します

[self.tableView insertRowsAtIndexPaths:addedIndexPaths withRowAnimation:(UITableViewRowAnimationTop)]; 

を呼んでこれを実装するには。最後のセルでは、前のセクションの上部または前のセクションのフッターの上部にテーブルビューがスクロールされます。

なぜ行を挿入するとテーブルビューがスクロールしますか?アニメーションを維持しながらスクロールを防止するにはどうすればよいですか?

+0

あなたはここを見ましたか? http://stackoverflow.com/questions/5872759/uitableview-insert-rows-without-scrolling –

+0

scrollviewデリゲートメソッドをオーバーライド –

+0

@PKT特にどちらですか?私は、スクロールを無効にして、挿入直後に有効にしようとしましたが、それもうまくいきませんでした。 – HasenBaumeister

答えて

1

この場合の主な方法は、insertRowsAtIndexPathsを使用しないことです。代わりに、アニメーションを維持するためにreloadSectionsを使用してみてください。

+0

私はセクション全体ではなく行が追加されました。あなたはreloadSectionsを使ってそれをどうやって行いますか? – HasenBaumeister

+0

[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:(UITableViewRowAnimationTop)]すべての行をアニメーション化します。しかし、追加された行だけをアニメーション化したいだけです。 – HasenBaumeister

+0

追加されたセルに更新を制限する方法はありますか? – HasenBaumeister

関連する問題