7
スクロール中にUITableViewの新しいセクション(セクションに3つのセルを含む)を挿入します。UITableViewスクロール中に上部にセクションを挿入する
[_mainTable beginUpdates];
[_mainTable insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationNone];
[_mainTable endUpdates];
セクションが正しく挿入されます。しかし、それはテーブルの上、つまりセル0または行0の上に表示されます。私はこのトランザクションをスムーズにします。私はendUpdates後
[_mainTable scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:1] atScrollPosition:UITableViewScrollPositionBottom animated:NO];
を挿入することができますが、それは突然、あなたの最後の位置にスクロールし、その後、表の一番上表示されますので、迅速なジャークを示しています。
どうすれば滑らかにすることができますか?
おかげ
ありがとうございました非常に仲間。私はこれと長い間闘っていた。 – Mann
上記のコードは魅力的に機能しますが、私の個人的な理解のために私はポイント5を得ませんでした。なぜここに古い四角形が必要ですか? – Mann
@mann目に見える行のどれがどれだけ下にシフトしたのか見てみようとしていました。ですから、私は挿入の前に目に見える行のためのrectを取得し、後に、そして 'contentOffset'を調整する' y'値の差を使用して、以前と同じ場所に行が現れるようにします。 – Rob