图片轮播器程序实现要求:
源代码下载地址:点击打开链接
1、UIKit复习
2、代理设计模式 --- 重要
注:只有继承自UIControl,才能addTarget,否则需要以代理实现监听!!
3、ScrollView常用属性
注:如果UIScrollView无法滚动,可能是以下原因:没有设置contentSize;scrollEnabled = NO;没有接收到触摸事件:userInteractionEnabled = NO;没有取消autolayout功能,如果在Storyboard中添加了ScrollView的子控件,要想scrollView滚动,必须取消autolayout!
在实际应用中,通常不在Storyboard中添加ImageView控件,而是用代码代替:
补充:自动布局:苹果为了程序员能够将注意力集中在程序上,而不要在代码中过多的使用frame。“参照”任何一个控件,都可以参照另外一个控件定义出准确的位置。
4、放大和缩小
5、自动布局的简单使用
在Storyboard中可以设置相对尺寸。
6、NSTimer使用
7、提示框
8、NSTimer的运行循环
此时,一旦在界面上有滚动时间,默认的监听方法停止监听,等待滚动事件结束后,继续监听。现象:在倒计时中途若去滚动文字,会导致倒计时停止,滚动结束后,继续倒计时。
改:
此时,若有滚动事件,时钟同样触发。
9、图片轮播器思路 --- 重要
9.1 搭建界面
1> 添加UIScrollView成员,并对其进行懒加载,以3.5英寸屏(320x480),直接设置frame
2> 设置图片,注:将5个UIImage设置到5个UIImageView中,并都添加到self.scrollView中
3> 采用块代码遍历,计算每个UIImageView的位置
4> 设置图片数宏,并在scrollView懒加载中设置其contentSize属性,即可实现滚动!!
9.2 实现细节
1> 分页+取消水平滚动+取消弹簧效果
2> 分页控件
注:分页控件的大小会自己根据页面数量自动计算size;
3> 滚动视图每翻一页,更新UIPageControl--- 添加UIScrollView的代理
4> 优化代码,对分页控件进行懒加载,并添加监听方法,调整滚动视图位置
5> 添加时钟
注:此时时钟累计,一旦拖住不动,松手后连续滚动
改:修改NSTimer的运行循环模式(上述)
6> 优化时钟和UIScrollView拖拽