码迷,mamicode.com
首页 > 其他好文 > 详细

scrollView总体介绍及其使用方法

时间:2015-03-18 07:51:39      阅读:417      评论:0      收藏:0      [点我收藏+]

标签:

1.在scroView上拖一个imageView 设置其大小,然后设置contentSize的大小,只能用代码设置。在设置contentOffSet属性(contentOffSet的属性特点,是一个point设置成正值向上移动)。contentInSet = UIEdgeInSetMake(a, b, c, d);他的值是scrollView的边距进行增加


项目一:喜马拉雅分析


1.分析页面结构

2.要在stroryBoard上拖控件

        (1)分次序,添加九宫格的算法

(2)设置contentSize 通过获取最大的Y只获取size的Y值,如果是一些常量,尽量使用宏定义,方便修改

(3)注意autoLayOut

(4)添加按钮,控制属性变化并记录当前位置,修改contentOffSet属性  

3.使用代理步骤

1>声明协议

2>设置代理

3>实现协议中的方法

scrollView操作是调用的方法,实现协议中的方法

用户开始拖拽时某个scrollView时调用()

缩放使用,监听手势的捏合,viewForZoomingInsscrollView方法 

(1)设置缩放内容

(2)设置缩放范围


设置scrollView的maxmumZoomScale = .5 (设置放大的范围)

在模拟器上按住option键进行缩放

4.图片轮播

1.UI

1>scrollView :分析UI如何实现,用代码创建,

2>图片 :通过FOR循环创建5个imageView,这个每个imageView的x值,及其frame添加到scrollView中

3>UIPageControll (在storyBoard中添加pageControl控件,注意不要添加到scrollView里面,不要直接拖,要通过修改Y值来放到scrollView上面)


2.业务逻辑

1>拖动:设置scrollView的分页属性 pagingEnable = yes;

2>设置页码 :在代理中设置页码,获取scrollView的contentOffset属性,计算出对应的页码,将页码赋值给pageControl的currentPage属性。计算的算法为:(当前的offset.x  + 屏幕宽度的一半)/ 屏幕的宽度;

3>自动滚动:添加定时器,两种方法。首先声明NSTimer对象,一种通过timerWithTimeInterval设置,另一种是通过scheduleTimeWithTimeInterval。然后将定时器添加到主时钟上。两种方式的区别:1. scheduleTimeWithTimeInterval只能同时响应一个事件,要么是定时器事件,要么是用户操作如拖拽事件。如果同时发生,优先执行用户事件。而timerWithTimeInterval需要将定时器手动添加到主循环中,模式有两种,一种是NSRunLoopDefaultmode,另一种是NSRunLoopComonModes。这种模式可以同时响应两种事件。

通过代理的方式,当拖拽时使用scrollViewWillBeginDragging方法,去掉定时器。方法是调用NSTimer中的invalidate方法停止定时器,并且使timer = nil;

停止拖拽时调用scrollViewDidEndDragging方法,添加定时器,调用添加方法即可。


scrollView总体介绍及其使用方法

标签:

原文地址:http://my.oschina.net/u/2329574/blog/388186

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!