- (void)changePage:(UIPageControl *)pageControl{ [_scrollView setContentOffset:CGPointMake(pageControl.currentPage*ScreenWidth, 0) animated:YES]; } - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ _pageControl.currentPage = _scrollView.contentOffset.x/320; }
上面是主要的代码。
初始化uiscrolview 和 pagecontrol
_mPictureArray = [NSMutableArray array]; _scrollView = [[UIScrollView alloc] init]; _scrollView.delegate = self; _scrollView.backgroundColor = [UIColor whiteColor]; _scrollView.contentSize = CGSizeMake(ScreenWidth*3,0); _scrollView.pagingEnabled = YES; [self.view addSubview:_scrollView]; [_scrollView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(0, 0, 0, 0)); }]; for(int i=0;i<3;i++){ UIImageView *contentImageView = [[UIImageView alloc] init]; contentImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d",i+1]]; [_scrollView addSubview:contentImageView]; [contentImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.width.with.equalTo(self.view); make.height.with.equalTo(self.view); make.left.equalTo(_scrollView).with.offset(ScreenWidth*i); }]; [_mPictureArray addObject:contentImageView]; } _pageControl = [[UIPageControl alloc] init]; _pageControl.numberOfPages = 3; _pageControl.currentPage = 0; _pageControl.pageIndicatorTintColor = [UIColor redColor]; [_pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:_pageControl]; [_pageControl mas_makeConstraints:^(MASConstraintMaker *make) { make.width.equalTo(self.view); make.centerX.equalTo(self.view); make.top.equalTo(self.view).with.offset(ScreenHeight-50); make.height.offset(30); }];