2014-08-30 74 views
3

我有奇怪的问题,而UITableView滚动我无法调用任何事件(触摸按钮,更改布局颜色)。有趣的是,当我触及UISeachBar时,键盘立即出现。 我意识到主线程已被阻塞,但我不知道是否有任何解决方案来解决这个问题。滚动UIScrollView - 块主线程

+0

显示你的代码在cellForRowAtIndexPath中,当滚动不断调用该方法来刷新单元的 – Jasper 2014-09-01 16:02:44

回答

1

您的问题的简短描述,我想,这是因为当你滚动您的tableView运行的循环变化从NSDefaultRunLoopModeNSEventTrackingRunLoopMode(见Run loops

要在滚动更改用户界面,该解决方案似乎工作您的UI更新为NSRunLoopCommonModes,其中包含您定位的两种循环模式。

防止它可以使你的tableview滚动笨重。

+0

但是如何在NSRunLoopCommonModes上执行UI更新,如何改变处理事件,如用户交互(触摸按钮)。 这很奇怪,因为我有其他干净的项目,这个问题不会发生。 – mbutan 2014-08-30 14:33:27

+0

我觉得很难找到没有更多信息的问题。你是否试图用较少的代码来隔离这种行为?一旦隔离,你可以在stackoverflow上分享它,我们将能够帮助你更多 – gsempe 2014-08-30 15:06:18