iOS开发中didSelectRowAtIndexPath tap事件响应延迟
Posted 大侠去哪儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发中didSelectRowAtIndexPath tap事件响应延迟相关的知识,希望对你有一定的参考价值。
为UITableViewCell添加tapped事件,代码如下:
class VideoViewController: UIViewController , UITableViewDataSource,UITableViewDelegate { //... func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) { // 播放框背景图片 let imageName : String = "cs50-"+String(indexPath.row+1) let image:UIImage = UIImage(named: imageName)! backgroundImageView.image = nil backgroundImageView.contentMode = UIViewContentMode.ScaleAspectFit backgroundImageView.clipsToBounds = true backgroundImageView.image = image } }
我希望点击列表中某个视频,再屏幕上方UIImageView中显示这个视频的背景图片。然而运行结果事与愿违,第一次点按并无响应;第二次点按后UIImageView显示第一次点按应该显示的图片。
仔细检查后发现,tableView的委托方法中,除了didSelectRowAtIndexPath,还有一个didDeselectRowAtIndexPath,这两者不仔细看根本看不出来。由于代码自动补全的时候De排在Se之前,所以我选择了不合适的方法didDeselect...
// 感谢这位帖主 主题 : iPhone开发中的“幽灵”——按两次,- (void)tableView:didDeselectRowAtIndexPath:才响应
以上是关于iOS开发中didSelectRowAtIndexPath tap事件响应延迟的主要内容,如果未能解决你的问题,请参考以下文章
didSelectRowAtIndexPath 错误的 NSIndexPath
didSelectRowAtIndexPath 中的 NSZombie