UIPageControl分页控件多图实现

代码如下:

#import "ViewController.h"


@interface ViewController ()<UIScrollViewDelegate>{

    UIPageControl *pagecontrol;

    UIScrollView *scrollView;

    integer_t i;

}


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    scrollView = [[UIScrollView alloc]initWithFrame:self.view.bounds];

    /**

     *

     */

    for (i = 1; i <= 5; i++) {

        UIImage *pageImage = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]];

        UIImageView *imageView = [[UIImageView alloc]initWithImage:pageImage];

        /**

         *  设置每一个imageView的位置

         *

         *  @param i                            <#i description#>

         *  @param 0                            <#0 description#>

         *  @param scrollView.frame.size.width  <#scrollView.frame.size.width description#>

         *  @param scrollView.frame.size.height <#scrollView.frame.size.height description#>

         *

         *  @return <#return value description#>

         */

        imageView.frame = CGRectMake(scrollView.frame.size.width * (i-1), 0,

        scrollView.frame.size.width, scrollView.frame.size.height);

        [scrollView addSubview:imageView];

    }

    [scrollView setContentSize:CGSizeMake(scrollView.frame.size.width * (i-1) , scrollView.frame.size.height)];

    [scrollView setDelegate:self];

    [scrollView setBounces:NO];

    [scrollView setShowsHorizontalScrollIndicator:YES];

    [scrollView setShowsVerticalScrollIndicator:YES];

    [scrollView setIndicatorStyle:UIScrollViewIndicatorStyleWhite];

    [self.view addSubview:scrollView];

    

    /**

     *  设置pageController的位置和大小

     *

     */

//    [pagecontrol setCenter:CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height-90)];

//    [pagecontrol setBounds:CGRectMake(0, 0, 150, 50)];

    /**

     之前写代码忘了加上这一句init 结果一直不显示出来...

     */

    pagecontrol = [[UIPageControl alloc]init];

    pagecontrol.bounds = CGRectMake(0, 0, 150, 50);

    pagecontrol.center = CGPointMake(scrollView.frame.size.width/2, scrollView.frame.size.height-90);

    [pagecontrol setNumberOfPages:5];

    [pagecontrol setCurrentPage:0];

    [pagecontrol setCurrentPageIndicatorTintColor:[UIColor whiteColor]];

    [pagecontrol setPageIndicatorTintColor:[UIColor redColor]];

    [pagecontrol addTarget:self action:@selector(updateCurrentPageDisplay) forControlEvents:UIControlEventValueChanged];

    [self.view addSubview:pagecontrol];

    }


#pragma mark scrollView的代理方法

/**

 *  滑动分页切换pagecontrol

 *

 *  @param scrollView <#scrollView description#>

 */

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

    [pagecontrol setCurrentPage:(int)scrollView.contentOffset.x / scrollView.frame.size.width ];

}


#pragma mark pageControl监听被点击的方法

- (void)updateCurrentPageDisplay{

    [scrollView setContentOffset:CGPointMake(pagecontrol.currentPage * scrollView.frame.size.width, 0)];

}

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

   

}


@end



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值