1

前回の質問に続いて、2 つの NSMutableArray、2 つのセクション、および 2 つのセクション ヘッダーが設定されたテーブルビューがあり、すべて正常に動作しています。

incompleteItems = [NSMutableArray arrayWithObjects: @"Item 1", @"Item 2", @"Item 3"... , nil];

completeItems = [NSMutableArray arrayWithObjects: nil];

ユーザーが右にスワイプするとセル アクセサリが開示からチェックマークに変わり、左にスワイプするとチェックマークから開示に変わるように設定しました。ジェスチャは、handleSwipeLeft/Right メソッドを使用して実現されます。

ユーザーが右にスワイプすると、incompleteItems 配列の項目が completedItems 配列に移動され、項目が「未完了」セクションから「完了」セクションに移動されます。

そのようなことを達成するための最良の方法は何でしょうか? 私の経験は限られているので、これは私の知識の範囲外です。

いつものように助けていただければ幸いです。

4

2 に答える 2

1

ある配列から別の配列にオブジェクトを追加するだけで、すぐに削除できます。

-(void)incompleteToCompleteAtIndex:(NSUInteger)index
{
    [complete addObject:[incompleteItems objectAtIndex:index]];
    [incompleteItems removeObjectAtIndex:index];
}

-(void)completeToIncompleteAtIndex:(NSUInteger)index
{
    [incompleteItems addObject:[complete objectAtIndex:index]];
    [complete removeObjectAtIndex:index];
}

これは UI アクションの結果としてのみ発生するため、これはメイン スレッドで発生し、ロックする理由はないと想定しています。

于 2012-12-20T19:56:11.560 に答える
0

素敵なアニメーションが必要ですか?チェックアウト:deleteRowsAtIndexPaths:withRowAnimation:およびinsertRowsAtIndexPaths:withRowAnimation:。これらの呼び出しは必ずとでラップしてbeginUpdatesくださいendUpdates

あるtableViewから別のtableViewへのセルの移動をアニメーション化する簡単な方法がわかりません。3ステップのアニメーションを手動で実行し、セルを削除して(そして、ビュー階層全体の前に浮かぶ新しいビューに追加して)、新しいビューを目的の場所に移動する必要がある方法を想像できます(目的地の画面座標を決定するために独自の計算を行う必要があります)そして最後に追加のアニメーション。完全に透明なダミーセルを使用して、アニメーションの最初と最後の部分でそれを入れ替えて、転送されたセルの場所を保持するための何かをテーブルビューに与えることができます。

于 2012-12-20T20:03:07.237 に答える