IOS-UIScrollView實現圖片分頁

1.設置能夠分頁atom

     _scrollView.pagingEnabled = YES;代理

2.添加PageControlorm

    UIPageControl *pageControl = [[UIPageControl alloc] init];圖片

    pageControl.center = CGPointMake(w * 0.5, h - 20);string

    pageControl.bounds = CGRectMake(0, 0, 150, 50);it

3.一共顯示多少個圓點(多少頁)io

    pageControl.numberOfPages = kCount; class

4.設置非選中頁的圓點顏色import

    pageControl.pageIndicatorTintColor = [UIColor redColor];分頁

5.設置選中頁的圓點顏色

    pageControl.currentPageIndicatorTintColor = [UIColor blueColor];

6. 禁止默認的點擊功能

    pageControl.enabled = NO;

7.UIScrollView的代理方法,當scrollView正在滾動的時候調用

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

方法/步驟

  1. MJViewController.h

    #import <UIKit/UIKit.h>

    @interface MJViewController : UIViewController

    @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

    @end

  2. MJViewController.m

    #import "MJViewController.h"

    #define kCount 8

    @interface MJViewController () <UIScrollViewDelegate>

    {

        UIPageControl *_pageControl;

    }

    @end

    @implementation MJViewController

    - (void)viewDidLoad

    {

        [super viewDidLoad];

        

        CGFloat w = self.view.frame.size.width;

        CGFloat h = self.view.frame.size.height;

        for (int i = 0; i< kCount; i++) {

            UIImageView *imageView = [[UIImageView alloc] init];

            

            // 1.設置frame

            imageView.frame = CGRectMake(i * w, 0, w, h);

            

            // 2.設置圖片

            NSString *imgName = [NSString stringWithFormat:@"0%d.jpg", i + 1];

            imageView.image = [UIImage imageNamed:imgName];

            

            [_scrollView addSubview:imageView];

        }

        

        // height == 0 表明 禁止垂直方向滾動

        _scrollView.contentSize = CGSizeMake(kCount * w, 0);

        _scrollView.showsHorizontalScrollIndicator = NO;

        _scrollView.pagingEnabled = YES;

        _scrollView.delegate = self;

        

        // 添加PageControl

        UIPageControl *pageControl = [[UIPageControl alloc] init];

        pageControl.center = CGPointMake(w * 0.5, h - 20);

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

        pageControl.numberOfPages = kCount; // 一共顯示多少個圓點(多少頁)

        // 設置非選中頁的圓點顏色

        pageControl.pageIndicatorTintColor = [UIColor redColor];

        // 設置選中頁的圓點顏色

        pageControl.currentPageIndicatorTintColor = [UIColor blueColor];

        

        // 禁止默認的點擊功能

        pageControl.enabled = NO;

        

        [self.view addSubview:pageControl];

        _pageControl = pageControl;

    }

    #pragma mark - UIScrollView的代理方法

    #pragma mark 當scrollView正在滾動的時候調用

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView

    {

        int page = scrollView.contentOffset.x / scrollView.frame.size.width;

    //    NSLog(@"%d", page);

        

        // 設置頁碼

        _pageControl.currentPage = page;

    }

    @end

相關文章
相關標籤/搜索