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拖拽
- iOS开发 - 第02篇 - UI进阶 - 01 - ScrollView
- iOS开发 - 第02篇 - UI进阶 - 02 - TableView
- iOS开发 - 第02篇 - UI进阶 - 03 - TableView Cell
- iOS开发 - 第02篇 - UI进阶 - 06 - PickerView & DatePicker
- iOS开发 - 第02篇 - UI进阶 - 08 - 私人通讯录
- iOS开发 - 第02篇 - UI进阶 - 10 - 事件处理
- iOS开发 - 第02篇 - UI进阶 - 11 - Quartz2D
- iOS开发 - 第02篇 - UI进阶 - 12 - Quartz2D演练
- iOS开发 - 第02篇 - UI进阶 - 13 - 核心动画
- iOS开发 - 第02篇 - UI进阶 - 09 - App主流UI框架结构
- iOS开发 - 第02篇 - UI进阶 - 14 - 彩票(第一天)
- iOS开发 - 第02篇 - UI进阶 - 16 - 彩票(第三天)
- iOS开发 - 第02篇 - UI进阶 - 04 - QQ聊天界面
- iOS开发 - 第02篇 - UI进阶 - 05 - QQ好友列表
- iOS开发 - 第02篇 - UI进阶 - 07 - 控制器 & 导航控制器
- iOS开发 - 第02篇 - UI进阶 - 15 - 彩票(第二天)
- iOS开发 - 第01篇 - UI基础 - 03 - 应用程序管理
- IOS开发UI进阶篇 — 广告轮播器
- 【求职经历】四川移动暑期实习面试经历
- 5.11
- spilt的用法小结
- android pd px sp 转换
- 理解Linux系统:/etc/init.d/目录
- iOS开发 - 第02篇 - UI进阶 - 01 - ScrollView
- Android开发学习路线图
- 第10、11周项目2:存储班长信息的学生类(1)
- HashMap深度解析(一)
- 括号匹配-java代码
- 单cpu计算作业轮询平均等待时间的算法
- Linux 安装Tomcat指定JDK
- json解析-fastjson封装
- ListView的使用和优化