用到的控件:

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

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

_scrollView.pagingEnabled = YES;

2>UIImageView:用来放图片的

3>UIPageControl,页码显示控件

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

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

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

全部代码:

#import "CXBViewController.h"

#define pCount 5 // 分页显示的图片张数,或者是页数

@interface CXBViewController () <UIScrollViewDelegate>
{
UIPageControl *_pageControl;
} @end @implementation CXBViewController - (void)viewDidLoad
{
[super viewDidLoad]; // 为scrollView添加图片
// 设置图片的宽和高
CGFloat w = self.view.frame.size.width;
CGFloat h = self.scrollView.bounds.size.height;
for (int i = ; i < pCount; i++) {
UIImageView *imageView = [[UIImageView alloc] init];
// 定义图片名,通过循环把所有的图片添加到scrollView中
NSString *imageName = [NSString stringWithFormat:@"img_%02d", i + ];
imageView.frame = CGRectMake(i*w, , w, h);
imageView.image = [UIImage imageNamed:imageName];
[self.scrollView addSubview:imageView];
} // contentSize的y值为0表示在垂直方向上不做滚动
self.scrollView.contentSize = CGSizeMake(pCount * w, );
// 禁用滚动条,只设置水平方向的滚动条即可,竖直方向的滚动范围是0,所以没必要设置
self.scrollView.showsHorizontalScrollIndicator = NO; // 设置分页,这个分页的原理实际上是按照ScrollView的大小分页的,这里的图片的宽由于和ScrollView的宽式一样的所以刚好分页显示图片了
_scrollView.pagingEnabled = YES; // 添加分页表示符
UIPageControl *pageControl = [[UIPageControl alloc] init];
// 让它居中,就设置center属性
pageControl.center = CGPointMake(w * 0.5, h - );
pageControl.bounds = CGRectMake(, , , );
// 设置显示的点的个数
pageControl.numberOfPages = pCount;
// 禁止点击
pageControl.enabled = NO;
pageControl.pageIndicatorTintColor = [UIColor grayColor];
pageControl.currentPageIndicatorTintColor = [UIColor brownColor];
_pageControl = pageControl;
// 这里添加到view中,不能添加到ScrollView中,否则会随着滚动而消失
[self.view addSubview:pageControl]; // 监听ScrollView的滚动,来告诉页码显示
// 设置代理
_scrollView.delegate = self;
} // 实现协议里的监听滚动的方法,这个方法是ScrollView在滚动时,会被调用
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
// 用contentOffset来计算当前的页码
int pageCount = self.scrollView.contentOffset.x/self.scrollView.bounds.size.width;
_pageControl.currentPage = pageCount; } @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. Windows Phone 显示长文本

    文采不好,将就着看,见谅 思路最重要,故本文不提供源码下载 参考项目: http://www.windowsphone.com/zh-cn/store/app/%E5%BF%83%E7%90%86fm ...

  2. vim编辑器编程配置

    打开/etc/vim/vimrc 添加命令: set cindent  "使用C样式的缩进 syntax on   "语法高亮 set tabstop=4 set softtabs ...

  3. 转 网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO

    此文章为转载,如有侵权,请联系本人.转载出处,http://blog.chinaunix.net/uid-28458801-id-4464639.html 同步(synchronous) IO和异步( ...

  4. 在网页中使用H1标记的须注意的事项

    H1标签是网站排名非常重要的一个因素,因此我们一定要正确使用它. 本文为你介绍H1标签使用的七大注意事项: 1.每个页面都应该有H1标签,H1标签是每个网页不可缺少的要素. 2.使用H1标签的内容应该 ...

  5. sqlserver 保留小数方法

    1. 使用 Round() 函数,如 Round(@num,2)  参数 2 表示 保留两位有效数字. 2. 更好的方法是使用 Convert(decimal(18,2),@num) 实现转换,dec ...

  6. 判断字符串是否包含字母‘k’或者‘K’

    判断字符串是否包含字母‘k’或者‘K’ public bool IsIncludeK(string temp) { temp = temp.ToLower(); if (temp.Contains(' ...

  7. setting菜单界面的形成--未优化

    代码: first_preference.xml: <?xml version="1.0" encoding="utf-8"?> <Prefe ...

  8. PHP5中常用的魔术函数有哪些,举例说明各自的用法。

    所谓魔术函数,是指不同时刻为了完成特定的功能,而自动调用的方法. __sleep       在serialize()序列化对象之前会调用这个函数__wakeup    在unserialize()解 ...

  9. delphi xe6 打开andoridGPS设置

      Androidapi.JNI.JavaTypes,    Androidapi.JNI.GraphicsContentViewText,   Androidapi.JNI.Location,   ...

  10. Sorl之.net操作

    http://www.cnblogs.com/zhangweizhong/category/771055.html 插入: SolrNet.Startup.Init<Movie>(&quo ...