码迷,mamicode.com
首页 > 移动开发 > 详细

IOS 之 UIScrollView,UIPageControl

时间:2016-07-22 19:12:24      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

UIScrollView 可以用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看,UIPageControl 类提供一行点来指示当前显示的是多页面视图的哪一页。

下面实现一个简单的图片自动播放器为例说说 UIScrollView 与 UIPageControl类中的一些方法。

注意:下述代码中的 scrollY,kScreenWidth,kScreenHeight,kImgCount 等都是定义好的常量

#define kScreenHeight [UIScreen mainScreen].bounds.size.height
#define kScreenWidth [UIScreen mainScreen].bounds.size.width
CGFloat kImgCount = 10;
CGFloat scrollY = 10;
CGFloat pageCtrlWidth = 200;

frame中的size指UIScrollView的可视范围

self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, scrollY, kScreenWidth, kScreenHeight - scrollY)];

设置UIScrollView的滚动范围(大小)

self.scrollView.contentSize = CGSizeMake(kScreenWidth * kImgCount, kScreenHeight - scrollY);

控制控件整页翻动(分页效果)

self.scrollView.pagingEnabled = YES;

UIScrollView当前滚动的位置,animated:YES 表示以恒定速度滚动

[self.scrollView setContentOffset:point animated:YES];

例如:拖动到一半时,页面数加1。

NSInteger page = scrollView.contentOffset.x / kScreenWidth + 0.5;//contentOffset.x 表示在x轴上拖动的距离
    self.pageCtrl.currentPage = page;

初始化UIPageControl

self.pageCtrl = [[UIPageControl alloc] initWithFrame:CGRectMake((kScreenWidth - pageCtrlWidth)/2, kScreenHeight - scrollY, kScreenWidth/2, scrollY/2 )];

一共显示多少个圆点

self.pageCtrl.numberOfPages = kImgCount;

设置非选中页的圆点颜色

self.pageCtrl.pageIndicatorTintColor = [UIColor greenColor];

设置选中页的圆点颜色

self.pageCtrl.currentPageIndicatorTintColor = [UIColor yellowColor];

A insertSubView B aboveSubview:C 是将B插入A并且在A已有的子视图C的上面
A addSubview B 是将B直接覆盖在A的最上层
A insertSubView B AtIndex:2 是将B插入到A的子视图index为2的位置(最底下是0)
A insertSubView B belowSubview:C 是将B插入A并且在A已有的子视图C的下面

例:

[self.view insertSubview:self.pageCtrl aboveSubview:self.scrollView];

暂时更新 UIScrollView 与 UIPageControl 的这些方法,当然还有一些其他方法没有整理,后续会根据学习情况不断积累!

IOS 之 UIScrollView,UIPageControl

标签:

原文地址:http://blog.csdn.net/huangfei711/article/details/51995349

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