2

1 つの ViewControl に 2 つの TableView が実装されています。最初は 1 つにデータがあり、もう 1 つにはありません。

それで、そのデータを移動するために、満たされたTableViewの1行に触れるジェスチャーイベントを実装し、それを空のTableViewにスワイプする方法を考えていました。

4

2 に答える 2

1

テーブルの各セルにスワイプジェスチャを追加します。このジェスチャindexPathセルの配列。最後に、メソッドで両方のテーブルを更新しますreloadData

于 2013-10-14T12:46:29.253 に答える
0

私がこれまでに行ったこと... (@Mirkoが言ったこととは少し異なります)

  1. UISwipeGesture をテーブル (ViewDidLoad メソッド内) に追加し、イベント ハンドラーを呼び出して "Swipe Up" イベントをキャプチャするように定義しました。

    swipeCell = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeUpEvent:)];
    swipeCell.direction = UISwipeGestureRecognizerDirectionUp;
    [self.tableA addGestureRecognizer:swipeCell];
    
  2. スワイプの開始時に、スワイプの動きによって選択されたセルを取得するイベント ハンドラーを実装しました。

    -(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 を作成することは避けました。私はそれが私の記憶を救うことを願っています。

于 2013-10-17T00:14:25.603 に答える