2014-08-30 71 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