UITableView检测选定的单元格?

时间:2010-11-30 20:42:39

标签: iphone objective-c ipad uitableview cell

我的应用中有多个UITableViews,有没有一种方法可以检测用户在该列中选择了哪个单元格/行?

是否可以以编程方式取消选择单元格/行?

感谢。

3 个答案:

答案 0 :(得分:30)

获取当前为表格选择的索引路径:

NSIndexPath *path = [tableView indexPathForSelectedRow];

取消选择当前选定的行:

[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:YES];

答案 1 :(得分:3)

这些都可以在UITableView的文档中找到。也许你下次应该先看看那里。

这里甚至是一个链接:http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html

答案 2 :(得分:2)

NSIndexPath *path = [tableView indexPathForSelectedRow];

如果没有选择卖出,上面的行将抛出 EXC BAD ACCESS ,因此使用NSIndexPath实例变量跟踪您选择的单元格,并且当实际选择时,仅取消选择单元格的 isSelected 属性。

UITableViewCell *cell = [tableView cellForRowAtIndexPath:someIndexPath];
if(cell.isSelected) {
    [tableView deselectRowAtIndexPath:someIndexPath animated:YES];
}