UITableview 不会立即响应单元格选择
Posted
技术标签:
【中文标题】UITableview 不会立即响应单元格选择【英文标题】:UITableview does not immediately respond to cell selection 【发布时间】:2015-10-21 08:24:08 【问题描述】:我有一个tableView,其中每个单元格都会触发一个模式视图(它是一个旅行计划器,该表用于选择起点和终点)。
选择地址后,模式被关闭,用户返回到表格视图。但是,如果我立即选择一个无法识别事件的单元格,我需要等待几秒钟。
我检查了 shouldHighlightCellAtIndexPath 或 didSelectCellAtIndexPath 都没有被调用。
在这里检查其他问题后,我还尝试将 delaysContentTouches 设置为 false(对于 tableview 和嵌入式滚动视图,请参阅UIButton not showing highlight on tap in ios7)
有谁知道我怎样才能让 tableview 立即响应选择?延迟时间足以惹恼用户
【问题讨论】:
您是否使用 animated = true 关闭此模态视图? 还有下一个问题 - viewWillAppear 中是否有任何复杂的代码?也许您的 UI 只是变得没有响应,因为它的某处某处被锁定或其他什么的手。 您的第一条评论是这里的关键问题。当模态被解雇时,表格没有反应。我认为这不是我可以改变的,所以我删除了动画,一切都恢复正常了 :) 如果它对你有用,那就太好了,但如果你需要动画,请寻找 UITransitionDelegate 并实现看起来像标准但提高速度的自定义动画。 感谢您的提示,但我的客户对删除动画感到满意 【参考方案1】:首先点击UITableViewCell
,被调用的代表是didSelectRowAtIndexPath
。这会立即触发 - 总是!
我的猜测是你在你的主线程上做一些网络,点击单元格,然后用这些数据显示新屏幕。这会使 UI 看起来延迟且无响应。请仔细检查并确保所有不需要主线程的非 UI 内容都进入并行线程。
【讨论】:
以上是关于UITableview 不会立即响应单元格选择的主要内容,如果未能解决你的问题,请参考以下文章