1、當(dāng)界面同時存在有定時器和UIScrollView時,比如:一個界面頂部是一個由定時器控制的無限輪播圖,下面是一個UIScrollView,這時你如果拖動下面UIScrollView,定時器就會暫停,等UIScrollView的拖動事件結(jié)束后定時器才會接著執(zhí)行。
2、其實原因是事件在 RunLoop 中處理的時候是有優(yōu)先級的,滾動 scollView 的事件優(yōu)先級比 timer 的高,所以滾動 scrollView 的時候 timer 不會執(zhí)行,所以可以使用下面的方法提高 timer 在事件處理中的優(yōu)先級為最高。
//------
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
//--
更正:上面這種解釋錯誤的,但解決代碼沒有問題。感謝VV木公子的提醒
原因請看:
Mitchell的文章《iOS - RunLoop 深入理解》
http://www.itdecent.cn/p/edbe946c8a11