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在延迟后取消选择行的主要内容,如果未能解决你的问题,请参考以下文章
UIImagePicker 完成或取消后调用 popToRootViewControllerAnimated? (iPhone,目标 C)