我有一个UITableView
,我按了一行,但是没有释放手指,所以didSelectRowAtIndexPath
还没有被调用,对吗?
rowIsPressed
之类的方法吗?还是onTableViewTouchDown
?答案 0 :(得分:2)
至少有两种选择:
1)您可以继承UITableViewCell,而不是使用默认uiview中的触摸处理。 (如touchesBegan:
等)/或添加自定义uiview作为tablecell的contentView。
2)为每个tablecell添加一个手势识别器。
要找出您所在的行,您可以在cellForRow:atIndexPath:
答案 1 :(得分:0)
试试这个
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
答案 2 :(得分:0)
在抬起手指之前没有这样的方法来检测所选状态...我猜你应该覆盖UITableView类并为它添加一个UIGestureRecognizer。 关于你的第二个问题,我想你正在谈论这个表视图委托方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
但是还有另一种方法可以为您提供当前选定的行。这是它(直接来自表视图类):
- (NSIndexPath *)indexPathForSelectedRow
希望有所帮助!