用到的控件:

1>UIScrollView:宽度和图片的宽度一样,因为分页的代码就一句

// 设置分页,这个分页的原理实际上是按照ScrollView的宽进行分页的,这里的图片的宽由于和ScrollView的宽式一样的所以刚好分页显示图片了

_scrollView.pagingEnabled = YES;

2>UIImageView:用来放图片的

3>UIPageControl,页码显示控件

=======================

关键部分:监听ScrollView的滚动,来告诉页码显;监听的方法:

scrollViewDidScroll  // 实现协议里的监听滚动的方法,这个方法是ScrollView在滚动时,会被调用

全部代码:

  1. #import "CXBViewController.h"
  2.  
  3. #define pCount 5 // 分页显示的图片张数,或者是页数
  4.  
  5. @interface CXBViewController () <UIScrollViewDelegate>
  6. {
  7. UIPageControl *_pageControl;
  8. }
  9.  
  10. @end
  11.  
  12. @implementation CXBViewController
  13.  
  14. - (void)viewDidLoad
  15. {
  16. [super viewDidLoad];
  17.  
  18. // 为scrollView添加图片
  19. // 设置图片的宽和高
  20. CGFloat w = self.view.frame.size.width;
  21. CGFloat h = self.scrollView.bounds.size.height;
  22. for (int i = ; i < pCount; i++) {
  23. UIImageView *imageView = [[UIImageView alloc] init];
  24. // 定义图片名,通过循环把所有的图片添加到scrollView中
  25. NSString *imageName = [NSString stringWithFormat:@"img_%02d", i + ];
  26. imageView.frame = CGRectMake(i*w, , w, h);
  27. imageView.image = [UIImage imageNamed:imageName];
  28. [self.scrollView addSubview:imageView];
  29. }
  30.  
  31. // contentSize的y值为0表示在垂直方向上不做滚动
  32. self.scrollView.contentSize = CGSizeMake(pCount * w, );
  33. // 禁用滚动条,只设置水平方向的滚动条即可,竖直方向的滚动范围是0,所以没必要设置
  34. self.scrollView.showsHorizontalScrollIndicator = NO;
  35.  
  36. // 设置分页,这个分页的原理实际上是按照ScrollView的大小分页的,这里的图片的宽由于和ScrollView的宽式一样的所以刚好分页显示图片了
  37. _scrollView.pagingEnabled = YES;
  38.  
  39. // 添加分页表示符
  40. UIPageControl *pageControl = [[UIPageControl alloc] init];
  41. // 让它居中,就设置center属性
  42. pageControl.center = CGPointMake(w * 0.5, h - );
  43. pageControl.bounds = CGRectMake(, , , );
  44. // 设置显示的点的个数
  45. pageControl.numberOfPages = pCount;
  46. // 禁止点击
  47. pageControl.enabled = NO;
  48. pageControl.pageIndicatorTintColor = [UIColor grayColor];
  49. pageControl.currentPageIndicatorTintColor = [UIColor brownColor];
  50. _pageControl = pageControl;
  51. // 这里添加到view中,不能添加到ScrollView中,否则会随着滚动而消失
  52. [self.view addSubview:pageControl];
  53.  
  54. // 监听ScrollView的滚动,来告诉页码显示
  55. // 设置代理
  56. _scrollView.delegate = self;
  57. }
  58.  
  59. // 实现协议里的监听滚动的方法,这个方法是ScrollView在滚动时,会被调用
  60. - (void)scrollViewDidScroll:(UIScrollView *)scrollView
  61. {
  62. // 用contentOffset来计算当前的页码
  63. int pageCount = self.scrollView.contentOffset.x/self.scrollView.bounds.size.width;
  64. _pageControl.currentPage = pageCount;
  65.  
  66. }
  67.  
  68. @end

这个简单的图片分页适合图片较少,在10张以内的;日后的笔记中会进行优化,只用两个UIImageView来循环显示图片即可;

ScrollView图片分页显示-简单的更多相关文章

  1. 【iOS开发-55】图片轮播案例:scrollView的分页、滚动栏、利用代理控制定时器和Page Control以及多线程问题

    案例: (1)用storyboard布局,这里用了三样东西. --UIScrollView就是我们准备存放滚动图片的容器. --Page Control就是控制页数的那几个小点点.能够设置有多少个点. ...

  2. 多页的TIFF图片在aspx页面分页显示

    一.逻辑实现:将数据库中的二进制TIFF图片读出并分页显示在页面上. 1.显示界面 public FrameDimension MyGuid; ; ; public static MemoryStre ...

  3. 如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示

    /// <summary> /// 获取图片库第一层文件夹--根据文件夹名称排序 /// </summary> /// <param name="siteUrl ...

  4. 《ASP.NET1200例》<asp:DataList>分页显示图片

    aspx页面代码 <asp:DataList ID="dlPhoto" runat="server" Height="137px" W ...

  5. TensorFlow与OpenCV,读取图片,进行简单操作并显示

    TensorFlow与OpenCV,读取图片,进行简单操作并显示 1 OpenCV读入图片,使用tf.Variable初始化为tensor,加载到tensorflow对图片进行转置操作,然后openc ...

  6. java web 简单的分页显示

    题外话:该分页显示是用 “表示层-控制层-DAO层-数据库”的设计思想实现的,有什么需要改进的地方大家提出来,共同学习进步. 思路:首先得在 DAO 对象中提供分页查询的方法,在控制层调用该方法查到指 ...

  7. 简单的JSP分页显示

    1.mysql的limit关键字 (DAO) select * from tablename limit startPoint, numberPerPage; tablename 就是要分页显示的那张 ...

  8. JSP分页显示实例(基于Bootstrap)

    首先介绍一款简单利落的分页显示利器:bootstrap-paginator 效果截图: GitHub官方下载地址:https://github.com/lyonlai/bootstrap-pagina ...

  9. IE11部分图片无法显示的兼容办法

    问题描述:写的网页在浏览器中测试兼容问题,FF,Chrome,Edge都完美兼容(包括Edge中的仿真),但是在IE11中却无法显示部分图片,并且报:DOM7009: 无法解码 URL 处的图像 错误 ...

随机推荐

  1. 网络流量监控shell脚本

    网络收发包计数记录在 /proc/net/dev 文件中, 要取得流量, 只需要读取里面的内容两次, 然后相减, 再除以时间间隔即可. #!/bin/bash #Usage1,record in fi ...

  2. .NET中使用log4net

    一,加载log4net引用 下载log4net.dll,我们这里使用的是.NET2.0 下载地址:http://files.cnblogs.com/gosky/log4net-1.2.13-bin-n ...

  3. tomcat目录简介

    http://www.cnblogs.com/kerrycode/p/3588816.html 主目录下面有bin.lib等目录 bin 存放Tomcat启动.停止服务程序以及一些其他脚本程序 lib ...

  4. Windows Server 2003搭建FTP服务器 实现盘符之间切换

     Serv-U中设置虚拟目录的方法 如果在E盘下有一个名为LoveHina的目录,在F盘下也有一个名为LoveHina的目录.那么,如何让使用同一个账号的用户可以同时访问这两个目录呢? 我们可以使用S ...

  5. bootstrap知识小点

    年底没什么项目做了,整理下最近做的网站使用到的bootstrap知识 一.导入bootstrap样式和脚本 <link href="css/bootstrap.min.css" ...

  6. [leetcode]_String to Integer (atoi)

    非常考虑思维全面性的一道题,考验是否能够考虑本问题的方方面面. 题目:将一个string转换为int.实现函数atoi()的功能. 先应该明确atoi()有哪些特殊功能:(正常的正负数情况我就不列了) ...

  7. (转载)实现QQ侧滑边栏

    Android ViewDragHelper实现QQ侧滑边栏 移动手机版的QQ的左边侧栏,有一个特殊的交互设计效果:当用户手指向右或向左滑动时,QQ的左边会弹出或收缩一个侧滑的边栏.这种效果简单的做法 ...

  8. Windows 8.1激活问题

    今天电脑开机,莫名的出现“你的Windows证书即将过期”. 系统本来用HEU_KMS_Activator 已激活成功,但查看系统激活状态时,结果如下图所示: 显示系统是已激活成功的.但还是有提示说系 ...

  9. java 复习

    整型: byte 1 short 2 int 4 long 80b1001 1_233_32 1341414141414Ljava 没有无符号类型浮点型:float 4 double 812.2f 无 ...

  10. C/C++ 对常见字符串库函数的实现

    在c中的string.h头文件中存在很多对字符串进行操作的函数,利用这些函数可以方便的对字符串进行操作.下面将对常见的字符串函数进行解释和实现. strcpy 函数原型:char* _strcpy(c ...