iOS开发 - 第02篇 - UI进阶 - 01 - ScrollView

来源:互联网 发布:halo mac 编辑:程序博客网 时间:2024/05/16 00:28

图片轮播器程序实现要求:




源代码下载地址:点击打开链接


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拖拽





0 0