关闭

UI第七天 UIScrollView UIPageControl

标签: uiuiscrollviewPageContro
175人阅读 评论(0) 收藏 举报

UIScrollView

UIScrollView是可以滚动的view,UIView本⾝不能滚动,⼦类
UIScrollview拓展了滚动⽅⾯的功能。
UIScrollView是所有滚动视图的基类。 UITableView,UITextView等视图都是继承于该类。
使⽤场景:显⽰不下(单张⼤图);内容太多(图⽂混排);滚动
头条(图⽚);相册等
UIScrollView主要专长于两个方面:
滚动: contentSize大于frame.size的时候,能够滚动
缩放:自带缩放,可以指定缩放倍数

声明: UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:[[UIScreen mainScreen]bounds]]; 声明一个屏幕一样大小的scrollView
注: 这里的frame不要与下面的contentSize混淆
滚动属性:
设置显示内容的区域(滑动的范围) 区域可以很大,是需要超过屏幕的一般
scrollView.contentSize = CGSizeMake(KScreenWidth,kScreenHeight);
KScreenWidth 这边是用宏表示的屏幕的宽 KScreenHeight 屏幕的高
设置滚动条的显示
scrollView.showsHorizontalScrollIndicator = NO; 水平
scrollView.showsVerticalScrollIndicator = NO; 垂直
设置回弹效果 (可滑动的方向)
scrollView.bounces = YES; 默认YES,总开关
scrollView.alwaysBounceHorizontal = YES; 默认是NO
scrollView.alwaysBounceVertical = YES; 默认是NO

// 添加图片
UIImageView * imageView = [[UIImageView alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
// 设置一张显示的图片
imageView.image = [UIImage imageNamed:@”12.jpg”];
// 设置一个标签
imageView.tag = 100;

// 注意把图片加在scrollView上
[scrollView addSubview:imageView];
[imageView release];

设置缩放比例
scrollView.maximumZoomScale = 2;
scrollView.minimumZoomScale = 0.5; 这两个默认是0,不写的话是无法缩放的
pagingEnabled 是否整屏翻动
必要步骤 调用协议 UIScrollView中的 - (UIView )viewForZoomingInScrollView:(UIScrollView )scrollView 方法 ,作用是: 将某个视图作为要缩放的视图,并且是scrollView的子视图…当然不能忘了设置代理人

协议中的方法还有:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView 滑动时触发
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView 将要开始拖拽
- 已经结束拖拽
- - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
- 要开始减速
- - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView 将
已经结束减速,视图将会在这个完全停止 最重要的方法.
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
缩放时触发.
- - (void)scrollViewDidZoom:(UIScrollView *)scrollView
缩放已经结束触发
- (void)scrollViewDidEndZooming:(UIScrollView )scrollView withView:(UIView )view atScale:(CGFloat)scale
动画结束后触发 改变偏移量的动画结束后 会触发
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView

改变一下偏移量
[scroll setContentOffset:CGPointMake(0, kScreenHeight) animated:YES];
重新设置缩放比例
[scroll setZoomScale:1 animated:YES];

UIPageControl

继承于UIControl
属性:
设置一共多少页 numberOfPages
设置当前第几页 currentPage
设置未选中颜色 pageIndicatorTintColor
设置选中颜色 currentPageIndicatorTintColor
UIPageControl 有一个点击方法

注:UIPageControl一般与UIScrollView连用 ,注意这是UIPageControl不应该添加到UIScrollView上,不然会一起移动
需求:要实现每一张图片都能缩放

思想:缩放是scrollView的方法 需要指定一个子视图进行缩放 要保持一个scrollView上有一个子视图,只有这样才能保证缩放互不影响
这时候需要的结构为先创建一个大的scrollView 专门用来控制左右滑动
大的scrollView上面 创建多个小的scrollView
利用小的scrollView 来控制 上面的视图进行缩放

步骤: 1.设置大的UIScrollView , 设置相应的contentSize,设置相应的属性
2. 创建图片个数的小的UIScrollView 设置其属性 并将UIIamgeView(图片)添加到上面
3. 设置UIPageControl 设置其属性,添加方法 将其添加后面的view上,不是添加到scrollView上
4. 设置代理 实现缩放方法 连接UIPageControl的代理方法,在图片减速结束时触发. 通过偏移量的x坐标来管理currentPage
5. 通过UIPageControl来控制UIScrollView 其出大的scrollView更改其偏移量

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5144次
    • 积分:428
    • 等级:
    • 排名:千里之外
    • 原创:37篇
    • 转载:10篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论