UITableView允许两个单元格同时选择样式

时间:2009-10-23 13:38:52

标签: iphone uitableview templates selection cell

我使用默认的Xcode模板创建了一个UItableView,并将其配置为显示五行。 我选择了桌子上的第一个单元格。当我选择另一个单元格时,我注意到第一个单元格保持选中状态,直到我从第二个单元格中移开手指。

样品: http://img190.imageshack.us/img190/7184/cellsz.jpg

我想要一个单元格在触摸时选择而不是触摸删除。 我在网上和苹果文档中进行了搜索,但是当用户触摸屏幕进行选择时,我没有找到调用哪种方法。

有没有人有关于此的一些信息?

3 个答案:

答案 0 :(得分:2)

最后,我成功地抑制了这种双重选择效果。

当系统在其上检测到内部触摸事件时,将选择一个单元格。 在选择之前,单元格具有突出显示状态,即触摸时显示。

要解决此问题,我必须覆盖自定义UITableViewCell中的- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated方法,并且不对此方法执行任何操作。

这样,表格将永远不会同时有两个选定的样式单元格。

编辑后引用

  

这个解决方案适合我,但是   它没有解决我的第一个请求   在“触摸”中更改单元格的选择   事件而不是“触摸”事件。

好吧......我认为这是不可能的。如果我们有这个选项,我们可以在我们只想在tableview中滚动时选择一个单元格。

答案 1 :(得分:1)

我不知道你的问题的答案,但有报价。您可以使用

中的复选标记标记所选行
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

委托方法。然后拨打[tableView deselectRowAtIndexPath:indexPath]

答案 2 :(得分:0)

没有框架提供的解决方案来选择多行。使用复选标记,Morion有一个很好的方法。您还可以查看Matt Gallagher撰写的this文章,其中他实现了您想要的内容。