UI06_UIPageControl

目的:让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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值