Iphone UITableView允许两个单元格同时具有选定的样式

Iphone UITableView允许两个单元格同时具有选定的样式,iphone,uitableview,templates,selection,cell,Iphone,Uitableview,Templates,Selection,Cell,我使用默认的Xcode模板创建了一个UItableView,并将其配置为显示五行。 我选择表上的第一个单元格。当我选择另一个单元格时,我注意到第一个单元格保持选中状态,直到我将手指从第二个单元格中移开 样本: 我希望一个单元格在触摸时被选中,而不是在触摸时被删除。 我在网上和苹果的文档中搜索过,但没有找到当用户触摸屏幕进行选择时调用的方法 有人知道这方面的一些信息吗?我不知道你问题的答案,但我有一个报价。您可以在选择的行中使用复选标记来标记所选行 -(void)tableView:(UITab

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

样本:

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


有人知道这方面的一些信息吗?

我不知道你问题的答案,但我有一个报价。您可以在选择的行中使用复选标记来标记所选行

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

委托方法。然后调用
[tableView取消行索引路径:indexath]

我不知道你问题的答案,但我有一个提议。您可以在选择的行中使用复选标记来标记所选行

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

委托方法。然后调用
[tableView取消行索引路径:indexath]

没有框架提供的选择多行的解决方案。Morion有一个很好的方法来使用复选标记。你们也可以看看Matt Gallagher的文章,他的文章实现了你们想要的东西。

并没有框架提供的选择多行的解决方案。Morion有一个很好的方法来使用复选标记。你们也可以看看马特·加拉赫的文章,他的文章实现了你们想要的。

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

当系统检测到某个单元格上的内部修补事件时,该单元格将被选中。 在被选中之前,该单元格会显示一个高亮状态,并在触摸屏上显示

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

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

编辑后引用

这个解决方案对我来说是足够的,但是 它不能解决我的第一个请求 更改“触摸屏”上的单元格选择 事件而不是“触碰”事件


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

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

当系统检测到某个单元格上的内部修补事件时,该单元格将被选中。 在被选中之前,该单元格会显示一个高亮状态,并在触摸屏上显示

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

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

编辑后引用

这个解决方案对我来说是足够的,但是 它不能解决我的第一个请求 更改“触摸屏”上的单元格选择 事件而不是“触碰”事件


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

Duplicate:Duplicate:well。。。我不太清楚。我道歉。实际上,在我的例子中,总是有一个选定的单元格。问题是,如果选择了一个单元格,则第二个单元格将在触摸时显示选定的样式,但不会被选中。我已经尝试过这种方法,但是当您从手机中取出手指时,会调用DidSelectRowatineXpath,而不是当您触摸手机并停留在手机上时。我添加了一个屏幕截图来显示它的样子。我的意思是,如果您只需要标记所选行,您可以将其accessoryType更改为,例如,UITableViewCellAccessoryTypeCheckmark,并在该委托方法中调用Decellow。。。我不太清楚。我道歉。实际上,在我的例子中,总是有一个选定的单元格。问题是,如果选择了一个单元格,则第二个单元格将在触摸时显示选定的样式,但不会被选中。我已经尝试过这种方法,但是当您从手机中取出手指时,会调用DidSelectRowatineXpath,而不是当您触摸手机并停留在手机上时。我添加了一个屏幕截图来显示它的样子。我的意思是,如果您只需要标记所选行,您可以将其accessoryType更改为,例如,UITableViewCellAccessoryTypeCheckmark,并在该委托方法中调用DecellRow。我不希望多个单元格选择。我不清楚,我道歉。我希望避免两个单元格同时具有选定的样式。这使应用程序看起来非常糟糕。请看我在帖子中添加的截图。我不想选择多个单元格。我不清楚,我道歉。我希望避免两个单元格同时具有选定的样式。这使应用程序看起来非常糟糕。请看我在帖子中添加的截图。