• IOS-UIScrollView实现图片分页


    1.设置可以分页

         _scrollView.pagingEnabled = YES;

    2.添加PageControl

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

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

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

    3.一共显示多少个圆点(多少页)

        pageControl.numberOfPages = kCount; 

    4.设置非选中页的圆点颜色

        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

  • 相关阅读:
    Android:ScaleType与Matrix相关
    Android:不同drawable文件夹的区别
    Android关于inflate的root参数
    Android:手把手教你打造可缩放移动的ImageView(下)
    Android:手把手教你打造可缩放移动的ImageView(上)
    在android studio中集成javah, ndk-build进行JNI开发
    彻底理解Toast原理和解决小米MIUI系统上没法弹Toast的问题
    Java基础知识
    从.NET的宠物商店到Android MVC MVP
    从零开始搭建架构实施Android项目
  • 原文地址:https://www.cnblogs.com/kerul-weiwei/p/4365082.html
Copyright © 2020-2023  润新知