2012-04-23 2 views
1

私はUITableViewを持っていますが、私はその行を押しても指は離さないので、didSelectRowAtIndexPathはまだ呼び出されていません。Iphone:UITableViewその行の検出方法

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

答えて

2

は、少なくとも2つのオプションがあります。 (touchesBegan:のように)/またはカスタムのUIをtableViewのcontentViewとして追加します。

2)ジェスチャー認識ツールを各テーブルセルに追加します。あなたはどの行で見つけるために

、あなたがcellForRow:atIndexPath:

0

指を離す前に、選択された状態を検出するためのそのような方法はありません。この

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath   *)indexPath 
+0

いやにすべての行に(行を参照より)タグを与えることができる、私は指をリリースした後、それは呼び出しです – Jim

0

を試してみてください...私はあなたがのUITableViewクラスをオーバーライドして、それにUIGestureRecognizerを追加する必要がありますね。 そして、あなたの2つ目の質問については、私はあなたがこのテーブルビューのデリゲートメソッドについて話していると思う:

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

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

- (NSIndexPath *)indexPathForSelectedRow 

助けて欲しいと思っています!

1)あなたはのUITableViewCellのサブクラスを作成し、よりデフォルトのUIViewから、あなたが知っているtouchhandlingを使用することができます。