iPhone 在延迟后取消选择行

发布于 2024-10-18 05:20:57 字数 115 浏览 4 评论 0原文

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

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

谢谢!

I was wondering if anyone was aware of a way to deselect a table view after a delay?

I am using the deselectRowAtIndexPath method. I just want the highlighting to show up for a second before deselecting it.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

花桑 2024-10-25 05:20:57

我可以使用 [tableView deselectRowAtIndexPath:indexPathAnimated:YES];

来做到这一点另一种方法是:

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

然后创建一个调用 的方法 deselect取消选择RowAtIndexPath

I was able to do that using [tableView deselectRowAtIndexPath:indexPath animated:YES];

Another way to do this would be:

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

and then create a method deselect that calls deselectRowAtIndexPath

随波逐流 2024-10-25 05:20:57

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

didSelectRowAtIndexPath 中,

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

如果我没有误解您的话,这将产生您正在寻找的效果。

If what you are trying to accomplish is: Tap a row, see highlight, highlight goes away you can:

In didSelectRowAtIndexPath

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

This will produce the effect you're looking for if I haven't misunderstood you.

俯瞰星空 2024-10-25 05:20:57
[self performSelector:@selector(deselect:) withObject:self afterDelay:0.33];

Swift 版本:

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

DispatchQueue.main.asyncAfter(deadline: .now() + 0.33) {
   self.deselectRow(at: indexPath, animated: true)
}
[self performSelector:@selector(deselect:) withObject:self afterDelay:0.33];

Swift version:

To add a slight delay when deselecting a tableview cell, you need to add the following to tableView(_:didSelectRowAt:):

DispatchQueue.main.asyncAfter(deadline: .now() + 0.33) {
   self.deselectRow(at: indexPath, animated: true)
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文