一、案例演示
本案例Demo演示的是一个首页轮播的案例,支持手动轮播和自动轮播。知识点主要集中在UICollectionView和NSTimer的使用。
二、知识储备
2.1、UICollectionView横向布局
只需要设置UICollectionViewFlowLayout的scrollDirection为UICollectionViewScrollDirectionHorizontal即可。
2.2、NSTimer的基本使用
NSTimer的初始化:
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)yesOrNo;
- (NSTimeInterval)ti : 预订一个Timer,设置一个时间间隔。
表示输入一个时间间隔对象,以秒为单位,一个>0的浮点类型的值,如果该值<0,系统会默认为0.1。 - target:(id)aTarget : 表示发送的对象,如self
- selector:(SEL)aSelector : 方法选择器,在时间间隔内,选择调用一个实例方法
- userInfo:(nullable id)userInfo : 需要传参,可以为nil
- repeats:(BOOL)yesOrNo : 当YES时,定时器会不断循环直至失效或被释放,当NO时,定时器会循环发送一次就失效。
开启定时器:
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
关闭定时器:
[self.timer invalidate];