1

私のメイン ビュー コントローラーには、テーブル ビューと、ユーザーが左にパンしたときに折りたたまれる右側の別のビューが含まれています。

このコントローラーにPanGestureRecogniserをセットアップして、ユーザーがそれを使用して 2 つのビューを切り替えることができるようにしました。1つの問題を除いて正常に動作します。

セルが 1 つまたは 2 つしかない場合、ユーザーは、セルで覆われていない下部の空の領域を使用してパンする必要があります。ビュー全体をカバーするセルがある場合、またはユーザーが左にパンすると、パン ジェスチャは常にスワイプ ジェスチャを起動するため、セルのスワイプによる削除機能がアクティブになります。

スワイプして削除する機能を維持したいのですが、ユーザーがセルを右にスワイプした場合のみです。

左のスワイプ/パンは、常に右側の 2 番目のビューを展開する必要があります。カスタム UITableViewCell サブクラスを使用しています。左スワイプのみを無効にして削除モードに入る方法はありますか?

4

1 に答える 1

1

これは完全に可能です。

これがコードです。- (void) viewDidLoadメソッドに同じものを追加します。

UISwipeGestureRecognizer * newSwipeGR = [[UISwipeGestureRecognizer alloc] initWithTarget:nil action:nil];
newSwipeGR.direction = UISwipeGestureRecognizerDirectionLeft;
newSwipeGR.numberOfTouchesRequired = 1;
[self.myTableView addGestureRecognizer:newSwipeGR];

通常どおり削除モードを有効にしますが、削除スワイプが一方向にしか機能しないことがわかります。

于 2013-04-07T19:38:05.460 に答える