1

我有一个UITableView,我按下了行,但没有松开手指,所以didSelectRowAtIndexPath还没有被调用,对吧?

  1. 如何检测我点击了哪一行?用什么方法?
  2. 如何检测我点击了表格视图?有没有类似的方法rowIsPressed?还是onTableViewTouchDown
4

3 回答 3

2

至少有两种选择:

1)您可以继承 UITableViewCell 并使用您从默认 uiview 中知道的触摸处理。(如touchesBegan:等)/或添加自定义 uiview 作为 tablecell 的 contentView。

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 。关于您的第二个问题,我认为您正在谈论此表视图委托方法:

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

但是还有另一种方法可以为您提供当前选定的行。就是这样(直接来自表视图类):

- (NSIndexPath *)indexPathForSelectedRow

希望有所帮助!

于 2012-04-23T15:52:48.747 回答