标签:
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