iPhone在延迟后取消选择行

Posted

技术标签:

【中文标题】iPhone在延迟后取消选择行【英文标题】:iPhone deselect row after delay 【发布时间】:2011-06-29 09:00:32 【问题描述】:

我想知道是否有人知道在延迟后取消选择表格视图的方法?

我正在使用deselectRowAtIndexPath 方法。我只想在取消选择之前突出显示一秒钟。

谢谢!

【问题讨论】:

【参考方案1】:

我可以使用 [tableView deselectRowAtIndexPath:indexPath animated:YES]; 做到这一点

另一种方法是:

[self performSelector:@selector(deselect:) withObject:self afterDelay:0.33];

然后创建一个调用deselectRowAtIndexPath的方法deselect

【讨论】:

+1 这是我将使用的,尽管根据您所拥有的,deselect 方法应该采用一个参数(您将 self 作为参数传递),这意味着它至少会被称为deselect: 正是我想要的。谢谢!【参考方案2】:

如果您想要完成的是:点击一行,查看突出显示,突出显示消失,您可以:

didSelectRowAtIndexPath

//after you do whatever your doing when a row is selected
UITableViewCell *cell [tableView cellForRowAtIndexPath:indexPath];
[cell setSelected:NO];

如果我没有误解你的话,这将产生你想要的效果。

【讨论】:

【参考方案3】:
[self performSelector:@selector(deselect:) withObject:self afterDelay:0.33];

Swift 版本:

要在取消选择表格视图单元格时添加轻微延迟,您需要在tableView(_:didSelectRowAt:) 中添加以下内容:

DispatchQueue.main.asyncAfter(deadline: .now() + 0.33) 
   self.deselectRow(at: indexPath, animated: true)

【讨论】:

以上是关于iPhone在延迟后取消选择行的主要内容,如果未能解决你的问题,请参考以下文章

iPhone中的多值选择/取消选择

UIImagePicker 完成或取消后调用 popToRootViewControllerAnimated? (iPhone,目标 C)

iPhone如何取消自动续费

如何在iphone,ipad上安装一些常用命令行命令

保存用相机拍摄或从相机胶卷中选择的图像时出现长时间延迟 - iPhone

MPMediaPickerController - 错误选择后取消选择