zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    PHP字符串中的变量解析(+教你如何在PHP字符串中加入变量)
    **【ci框架】PHP的CI框架集成Smarty的最佳方式
    六步实现Rest风格的API
    jfinal想用到中大型项目中的项目经验分享
    ***iOS 项目的目录结构能看出你的开发经验
    非常好!!!Linux源代码阅读——环境准备【转】
    非常好!!!Linux源代码阅读——中断【转】
    linux中断申请之request_threaded_irq【转】
    linux设备驱动归纳总结(六):2.分享中断号【转】
    一些不错的文档网址--笔记【原创】
  • 原文地址:https://www.cnblogs.com/kerul-weiwei/p/4365082.html
Copyright © 2011-2022 走看看