图片自动滚动器

PageControl 在storyboard的scrollView中添加后,在代码中给scrollView中添加图片,会将pageControl覆盖掉,看不到了。

添加计时器:

[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(nextImage) userInfo:nil repeats:YES];

此时计时器就已经自动开启并工作了。

或是:

NSTimer *timer = [NSTimer timerWithTimeInterval:3.0 target:self selector:@selector(nextPage) userInfo:nil repeats:YES];

 [timer fire];

此方法需要用[ timer fire ] 手动触发,且只会执行一次,不建议使用

需要实现当图片被用户点击时,计时器停止工作。需要监听用户的拖动Dragging事件,开始dragging时让计时器失效,停止Dragging时重新建立一个计时器。(计时器一旦被销毁,便不能重启了。)

两种方法:

1. 定义timer属性,strong类型。self.timer = 新建new.   开始拖动时[ self.timer invalidate ] ,停止拖动 self.timer = 新建new.

2. 定义timer属性,strong类型。重写timer的get方法(懒加载,判断_timer是否为nil,为空新建,否则返回_timer),通过[ self timer ]来获取新的计时器。开始拖动时,  [ self.timer invalidate ],并将self.timer = nil. 停止拖动时,调用[ self timer ]方法新建计时器

为timer设置优先级(通用模式),保证timer不被在其他区域拖动的操作影响:

[[NSRunLoop currentRunLoop] addTimer:_timer forMode:NSRunLoopCommonModes];


你可能感兴趣的:(图片自动滚动器)