iOS开发代码段iOS滚动视图tableview,collectionviewiOS学习笔记

29、[ iOS ] 定时器和UIScrollView的拖动事件

2016-03-18  本文已影响1296人  天听云道

1、当界面同时存在有定时器和UIScrollView时,比如:一个界面顶部是一个由定时器控制的无限轮播图,下面是一个UIScrollView,这时你如果拖动下面UIScrollView,定时器就会暂停,等UIScrollView的拖动事件结束后定时器才会接着执行。
2、其实原因是事件在 RunLoop 中处理的时候是有优先级的,滚动 scollView 的事件优先级比 timer 的高,所以滚动 scrollView 的时候 timer 不会执行,所以可以使用下面的方法提高 timer 在事件处理中的优先级为最高。

//------
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
//--

更正:上面这种解释错误的,但解决代码没有问题。感谢VV木公子的提醒
原因请看:
Mitchell的文章《iOS - RunLoop 深入理解》
http://www.jianshu.com/p/edbe946c8a11

上一篇 下一篇

猜你喜欢

热点阅读