1

を持っていてUITableView、列を押しても指を離さないのでdidSelectRowAtIndexPath、まだ呼ばれていませんよね?

  1. クリックした行を検出するにはどうすればよいですか?どの方法で?
  2. テーブルビューをクリックしたことを検出するにはどうすればよいですか?のような方法はありますrowIsPressedか?またはonTableViewTouchDown
4

3 に答える 3

2

少なくとも 2 つのオプションがあります。

1) UITableViewCell をサブクラス化し、デフォルトの uiview から知っている touchhandling を使用できます。(Like touchesBegan:etc.) / または、テーブルセルの contentView としてカスタム uiview を追加します。

2) 各テーブルセルにジェスチャ認識機能を追加します。

自分がどの行にいるかを調べるには、すべての行にタグを付けることができます (それは行を参照します)cellForRow:atIndexPath:

于 2012-04-23T15:57:03.943 に答える
0

これを試して

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath         *)indexPath
于 2012-04-23T15:49:07.380 に答える
0

指を離す前に選択状態を検出する方法はありません... UITableView クラスをオーバーライドして、UIGestureRecognizer を追加する必要があると思います。2 番目の質問については、このテーブル ビュー デリゲート メソッドについて話していると思います。

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

ただし、現在選択されている行を取得する別の方法もあります。これはそれです(テーブルビュークラスから直接):

- (NSIndexPath *)indexPathForSelectedRow

お役に立てば幸いです!

于 2012-04-23T15:52:48.747 に答える