iPhone延迟后取消选择行

时间:2011-02-17 20:12:41

标签: iphone objective-c ios

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

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

谢谢!

3 个答案:

答案 0 :(得分:10)

我能够使用[tableView deselectRowAtIndexPath:indexPath animated:YES];

来做到这一点

另一种方法是:

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

然后创建一个调用deselect

的方法deselectRowAtIndexPath

答案 1 :(得分:0)

如果你想要完成的是:点击一行,看到突出显示,突出显示就可以了:

didSelectRowAtIndexPath

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

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

答案 2 :(得分:0)

[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)
}