0

メイン ルートが UIViewController で、Facebook やパスのアプリケーションと同様の動作をするアプリケーションがあります。つまり、左右にスワイプして別のビューを表示します。 ここに画像の説明を入力

ただし、私の問題は、メインの UIViewController に UITableViewcells がある場合があり、これはスワイプで削除する必要がありますが、これは正しく機能せず、ジェスチャを検出しない場合もあります。

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
return YES;

}

    - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {

    [dataItems removeObjectAtIndex:indexPath.row];
    [self.tableView reloadData];

}    

}

UIViewController のコントローラーを作成するために、ここにリンクの説明を入力して、このライブラリを採用しています 。

これを解決する方法はありますか?

前もって感謝します。

4

1 に答える 1

1

問題は、使用しているジェスチャーです。テーブルセルとビューの両方がスワイプイベントをインターセプトしようとしている場合は、探している動作が得られないことが保証されます。私が通常この問題を解決する方法は、テーブルを編集モードに変更するボタンを作成することです。そうすれば、競合は発生しません。

[tableView setEditing:YES animated:YES];

問題は、プログラムの設計や言語機能ではなく、まったく同じジェスチャーで2つの異なることを実行することです。これを実装して常に必要なものを取得することは物理的に不可能です。iOS 7の新しいAPIについて聞いたのですが、iOSデバイスは心を読み取ることができません...

マルチフィンガージェスチャを使用してみることができます。

于 2012-08-01T16:22:21.107 に答える