我使用默认的Xcode模板创建了一个UItableView,并将其配置为显示五行。 我选择了桌子上的第一个单元格。当我选择另一个单元格时,我注意到第一个单元格保持选中状态,直到我从第二个单元格中移开手指。
样品: http://img190.imageshack.us/img190/7184/cellsz.jpg
我想要一个单元格在触摸时选择而不是触摸删除。 我在网上和苹果文档中进行了搜索,但是当用户触摸屏幕进行选择时,我没有找到调用哪种方法。
有没有人有关于此的一些信息?
答案 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文章,其中他实现了您想要的内容。