1 つの ViewControl に 2 つの TableView が実装されています。最初は 1 つにデータがあり、もう 1 つにはありません。
それで、そのデータを移動するために、満たされたTableViewの1行に触れるジェスチャーイベントを実装し、それを空のTableViewにスワイプする方法を考えていました。
1 つの ViewControl に 2 つの TableView が実装されています。最初は 1 つにデータがあり、もう 1 つにはありません。
それで、そのデータを移動するために、満たされたTableViewの1行に触れるジェスチャーイベントを実装し、それを空のTableViewにスワイプする方法を考えていました。
テーブルの各セルにスワイプジェスチャを追加します。このジェスチャは、indexPath
セルの配列。最後に、メソッドで両方のテーブルを更新しますreloadData
私がこれまでに行ったこと... (@Mirkoが言ったこととは少し異なります)
UISwipeGesture をテーブル (ViewDidLoad メソッド内) に追加し、イベント ハンドラーを呼び出して "Swipe Up" イベントをキャプチャするように定義しました。
swipeCell = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeUpEvent:)];
swipeCell.direction = UISwipeGestureRecognizerDirectionUp;
[self.tableA addGestureRecognizer:swipeCell];
スワイプの開始時に、スワイプの動きによって選択されたセルを取得するイベント ハンドラーを実装しました。
-(IBAction)swipeUpEvent:(UIGestureRecognizer *) sender
{
CGPoint location = [sender locationInView:self.tableA];
NSIndexPath *swipedIndexPath = [self.tableA indexPathForRowAtPoint:location];
NSString *temp = [arrayA objectAtIndex:swipedIndexPath.row];
[arrayB addObject:temp];
[arrayA removeObjectAtIndex:swipedIndexPath.row];
[self.tableB reloadData];
[self.tableA reloadData];
}
これは、この問題に対する最も洗練された解決策ではないかもしれませんが、少なくともセルごとに ActionListener を作成することは避けました。私はそれが私の記憶を救うことを願っています。