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

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

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

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

有帮助吗?

解决方案

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

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

要解决此问题,我必须覆盖 - (void)setHighlighted:(BOOL)在我的自定义UITableViewCell中突出显示动画:(BOOL)动画方法,并且在此方法中不执行任何操作。

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

编辑后引用

  

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

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

其他提示

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

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

委托方法。然后调用 [tableView deselectRowAtIndexPath:indexPath]

没有框架提供的解决方案来选择多行。使用复选标记,Morion有一个很好的方法。您还可以查看文章马特加拉格尔,他实现了你想要的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top