【问题标题】:UITableview does not immediately respond to cell selectionUITableview 不会立即响应单元格选择
【发布时间】: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 并实现看起来像标准但提高速度的自定义动画。
  • 感谢您的提示,但我的客户对删除动画感到满意

标签: ios uitableview


【解决方案1】:

首先点击UITableViewCell,被调用的代表是didSelectRowAtIndexPath。这会立即触发 - 总是!

我的猜测是你在你的主线程上做一些网络,点击单元格,然后用这些数据显示新屏幕。这会使 UI 看起来延迟且无响应。请仔细检查并确保所有不需要主线程的非 UI 内容都进入并行线程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多