滚动UIScrollView - 阻止主线程

时间:2014-08-30 13:25:10

标签: ios objective-c multithreading uitableview uiscrollview

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

1 个答案:

答案 0 :(得分:1)

通过对问题的简短描述,我认为这是因为当您滚动tableView运行循环从NSDefaultRunLoopMode更改为NSEventTrackingRunLoopMode时(请参阅Run loops

要在滚动时更改用户界面,解决方案似乎会在NSRunLoopCommonModes上执行您的UI更新,其中包括您定位的两种循环模式。

请注意它可以让你的桌面滚动笨重。