0

モデルを表すテーブル ビューと NSArray を備えたビュー コントローラーがあります。viewDidLoad では、配列にオブジェクトを入力し、[tableView reloadData] を呼び出してテーブル ビューを入力します。その結果、テーブル ビューが 1 つのチャンクでいっぱいになり、私はそれが好きではありません。
セルを次々と追加しているように、スライドさせたいです。
これは可能ですか?

私がこのようなことをしようとすると:

    [self.tableView beginUpdates];

    for (int i=0; i < sortedPersons.count; i++) {
        Person *personInfo = [sortedPersons objectAtIndex:i];
        [self.myMainModelArr addObject:personInfo];

        NSIndexPath *newIndexPath = [NSIndexPath indexPathForRow:i inSection:0];
        [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
    }

    [self.tableView endUpdates];

無効なテーブル ビューの更新エラーが発生する

4

1 に答える 1

2

UITableView を使用する場合、これを支援するために使用できるデリゲート関数がいくつかあります。tableView に何かを追加しようとするときは、必ず次を使用してください。

[tableView beginUpdates];

次に、挿入時にデリゲート メソッドを使用できます。

- (void)insertSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation

追加を終了するときは、必ず次を使用してください。

[tableView endUpdates];

これらの関数はすべて、UITableView クラス リファレンスから表示できます。

ここにコードのスニペットがあります: UITableView add cell Animation

于 2012-04-25T00:18:43.817 に答える