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

IOS-UIScrollView实现图片分页的更多相关文章

  1. iOS UIScrollView 3种分页方法,间隔实现

    基础知识参考 http://tech.glowing.com/cn/practice-in-uiscrollview/ https://stackoverflow.com/questions/9367 ...

  2. iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView

    iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView 时间:2016-01-19 19:13:43      阅读:630      评论:0      收藏:0   ...

  3. UIScrollView实现图片轮播器及其无限循环效果

    图片轮播器: 一.实现效果 实现图片的自动轮播            二.实现代码 storyboard中布局 代码: 1 #import "YYViewController.h" ...

  4. UIScrollView实现图片轮播器的无限滚动

    简介 在现在的一些App中常常见到图片轮播器,一般用于展示广告.新闻等数据,在iOS内并没有现成的控件直接实现这种功能,但是通过UIScrollView的允许分页设置,可以实现滚动轮播的功能. 轮播原 ...

  5. ScrollView图片分页显示-简单

    用到的控件: 1>UIScrollView:宽度和图片的宽度一样,因为分页的代码就一句 // 设置分页,这个分页的原理实际上是按照ScrollView的宽进行分页的,这里的图片的宽由于和Scro ...

  6. UIScrollView 之图片缩放

    UIScrollView 之图片缩放 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理 也就是说,要完成缩放功能的话,只 ...

  7. iOS:UIScrollView控件和UIPageControl控件的详解

    UIScrollView滚动视图控件和UIPageControl分页视图控件:    UIScrollView用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看,当然UIPagecon ...

  8. 解决iOS中tabBarItem图片默认颜色的问题(指定代码渲染模式为以原样模式的方式显示出来)

    解决iOS中tabBarItem图片默认颜色的问题(指定代码渲染模式为以原样模式的方式显示出来) 解决办法:指定图片的渲染模式(imageWithRenderingMode为:UIImageRende ...

  9. UIScrollView 和 UICollectionView 分页效果

    UIScrollView 和 UICollectionView 分页效果 UIScrollView可以滚动显示宽度或高度大于其bounds的内容.有些时候,需要有分页效果.每一页有统一的大小,相邻无缝 ...

  10. IOS UIScrollView常用代理方法

    iOS UIScrollView代理方法有很多,从头文件中找出来学习一下 //只要滚动了就会触发 - (void)scrollViewDidScroll:(UIScrollView *)scrollV ...

随机推荐

  1. 监控Tomcat并启动

    #!/bin/sh export _JAVA_SR_SIGNUM= export JAVA_HOME=/usr/java/jdk1..0_11 export CATALINA_BASE=/home/c ...

  2. 获取客户端IP地址 via C#

    获取客户端IP地址 via C# 说明:本文中的内容是我综合博客园上的博文和MSDN讨论区的资料,再通过自己的实际测试而得来,属于自己原创的内容说实话很少,写这一篇是为了记录自己在项目中做过的事情,同 ...

  3. visual studio 资源视图 空白 解决方案

    visual studio 资源视图打开后显示空白的解决方案步骤: 在解决方案view下,右键点击工程 1 unload projects 完成第一步后仍然在解决方案view下,右键点击工程 2 re ...

  4. java NIO 资料总结

    1.http://developer.51cto.com/art/201204/328340.htm 2.http://ifeve.com/file-channel/并发编程网系列 3 http:// ...

  5. C++中虚函数实现原理揭秘

            编译器到底做了什么实现的虚函数的晚绑定呢?我们来探个究竟.      编译器对每个包含虚函数的类创建一个表(称为V TA B L E).在V TA B L E中,编译器放置特定类的虚函 ...

  6. jQuery技术内幕预览版.pdf3

    jQuery.fn.init(selector,context,rootjQuery):构造函数 jQuery.fn.init() 负责解析参数 selector 和 context 的类型,并执行相 ...

  7. QEMU MIPIS远程共享ubuntu主机的文件

    尝试啦很多中办法,最终选择以在QEMU模拟器中ssh 远程登入的方式访问主机,并用sshfs 挂载 主机端的文件到模拟器中,实现模拟器访问主机端的代码. SSH分客户端openssh-client和o ...

  8. cout internal

    cout internal */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Consola," ...

  9. 修复直接删除linux系统后grub丢失错误

    如果删除了系统后,grub丢失,开机出现“grub>”的话,可以用如下代码进入目标linux系统:grub>ls (hd0,X)/boot             //x为目标系统所在分区 ...

  10. Mysql导出导入乱码问题解决

    MySQL从4.1版本开始才提出字符集的概念,所以对于MySQL4.0及其以下的版本,他们的字符集都是Latin1的,所以有时候需要对mysql的字符集进行一下转换,MySQL版本的升级.降级,特别是 ...