1

iOS でテーブル ビューを作成し、行削除機能を実装しました。すべてが機能しています。1つ疑問があるのですが、

次のケースを考えてみましょう。

テーブルに 15 行あるとします。行 10 を削除すると、一番上のセル (1-9) が上から下に移動し、行 10 の位置になることがあります。上にアニメーションします。これはランダムに発生します。

これは削除するためのコードです

- (void)tableView:(UITableView *)tableView
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@">>> Entering %s <<<", __PRETTY_FUNCTION__);

if (editingStyle == UITableViewCellEditingStyleDelete)
{
    [[self contents] removeObjectAtIndex:[indexPath row]];

    NSArray *indexPathsToRemove = [NSArray arrayWithObject:indexPath];

    [tableView deleteRowsAtIndexPaths:indexPathsToRemove     withRowAnimation:UITableViewRowAnimationAutomatic];
}

NSLog(@"<<< Leaving %s >>>", __PRETTY_FUNCTION__);
}

そして、これの間に私がフォローしているチュートリアルがあります

このリンクからプロジェクトをダウンロードできます。

この動作を制御する方法はありますか。

前もって感謝します

4

1 に答える 1

0

あなたはそれを制御することができます

withRowAnimation:UITableViewRowAnimationAutomatic

各種オプションご用意しております

UITableViewRowAnimationBottom
UITableViewRowAnimationFade
UITableViewRowAnimationRight
...

実際の方法は次のとおりです。

    [mainTableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationAutomatic]; 
于 2013-11-12T06:35:07.447 に答える