目的:让pageControl也能控制ScrollView画面
定义宏: #define HEIGHT self.view.frame.size.height
#define WIDTH self.view.frame.size.width
创建scrollView这里我们把它设置成属性进行创建
self.scrollView=[[UIScrollView alloc]initWithFrame:self.view.frame];
self.scrollView.backgroundColor=[UIColor redColor];
[self.view addSubview:self.scrollView];
[self.scrollView release];
// 设置滚动的页数
self.scrollView.contentSize=CGSizeMake(WIDTH * 6, HEIGHT);
// 按页滚动
self.scrollView.pagingEnabled=YES;
// 循环播放
for(NSInteger i=0;i<6;i++)
{
NSString *picName=[NSString stringWithFormat:@"knockout_%02ld.jpg",i];
UIImageView *imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:picName]];
imageView.frame=CGRectMake(WIDTH*i , 0, WIDTH, HEIGHT-100);
//把imageview放到scrollView上
[self.scrollView addSubview:imageView];
//释放imageView
[imageView release];
}
// 设置代理人
self.scrollView.delegate=self;
下面是对pageView的设置
1.创建pageControl
UIPageControl *pageControl=[[UIPageControl alloc]initWithFrame:CGRectMake(100, 600, 200, 40)];
pageControl.backgroundColor=[UIColor blackColor];
[self.view addSubview:pageControl];
[pageControl release];
2.图片个数和点的个数相同
pageControl.numberOfPages=6;
3.被选中点的颜色
pageControl.pageIndicatorTintColor=[UIColor yellowcolor];
4.点的背景颜色
pageControl.currentPageIndicatorTintColor=[UIColor blueColor];
5.添加点击方法
[pageControl addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];
方法实现
-(void)pageAction:(UIPageControl *)pageControl{
//点的个数从零开始计算
NSLog(@"%ld",pageControl.currentPage);
//触发事件,进行图片的切换
[self.scrollView setContentOffset:CGPointMake(pageControl.currentPage*WIDTH, 0)animated:YES];
}
6.让圆点随图片移动
先设置tag值方便找到
pageControl.tag=1000;
方法实现:
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
//滑动图片,让圆点跟着一起动
UIPageControl *page=(UIPageControl *)[self.view viewWithTag:1000];
page.currentPage = self.scrollView.contentOffset.x/WIDTH;
}