我有一个UITableView
,我按下了行,但没有松开手指,所以didSelectRowAtIndexPath
还没有被调用,对吧?
- 如何检测我点击了哪一行?用什么方法?
- 如何检测我点击了表格视图?有没有类似的方法
rowIsPressed
?还是onTableViewTouchDown
?
我有一个UITableView
,我按下了行,但没有松开手指,所以didSelectRowAtIndexPath
还没有被调用,对吧?
rowIsPressed
?还是onTableViewTouchDown
?至少有两种选择:
1)您可以继承 UITableViewCell 并使用您从默认 uiview 中知道的触摸处理。(如touchesBegan:
等)/或添加自定义 uiview 作为 tablecell 的 contentView。
2)为每个表格单元添加一个手势识别器。
要找出你在哪一行,你可以给每一行一个标签(而不是引用该行)cellForRow:atIndexPath:
试试这个
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
没有这样的方法可以在抬起手指之前检测到选定的状态......我想你应该重写 UITableView 类并向它添加一个 UIGestureRecognizer 。关于您的第二个问题,我认为您正在谈论此表视图委托方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
但是还有另一种方法可以为您提供当前选定的行。就是这样(直接来自表视图类):
- (NSIndexPath *)indexPathForSelectedRow
希望有所帮助!