分页控件:UIPageControl

 
功能:通常搭配滚动视图一起使用,设置pagingEnabled=YES即可,UIScrollView会被分割成多个独立页面,用户的滚动体验则变成了页面翻转,一般会配合UIPageControl增强分页效果,显示滚动视图的页码。

属性:

@property(nonatomic) NSInteger numberOfPages;  //总页数

@property(nonatomic) NSInteger currentPage;      //当前的页码

@property(nonatomic) BOOL hidesForSinglePage;  //当只有一页时,是否要隐藏

@property(nonatomic) BOOL defersCurrentPageDisplay;   //是否推迟显示当前页码

@property(nonatomic,retain) UIColor *pageIndicatorTintColor; //设置控制器页码点的颜色

@property(nonatomic,retain) UIColor *currentPageIndicatorTintColor; //设置控制器当前所在页码点的颜色

方法:

- (void)updateCurrentPageDisplay;     //更新当前页码

- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount;  //一定数量页码的size大小

监听UIPageControl的页面改变:

// 添加监听器

[pageControl addTarget:self action:@selector(pageChange:)

forControlEvents:UIControlEventValueChanged];

// 监听方法

- (void)pageChange:(UIPageControl *)pageControl

{

}

具体举例如下:

在AppDelegate类的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {}方法中添加添加代码为:

//1.初始化窗体和设置背景颜色

    //初始化window实例
self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]]; //设置背景色
self.window.backgroundColor = [UIColor whiteColor];

//2.初始化分页控制器实例

    //创建分页控制器实例
UIPageControl *pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(, , , )];

//3.设置总分页数

    //设置总页码数
pageControl.numberOfPages = ;

//4.设置当前页码数

    //设置当前页码
pageControl.currentPage = ;

//5.设置所有页码点颜色

    //设置所有页码点的颜色(未选中)
pageControl.pageIndicatorTintColor = [UIColor redColor];

//6.设置当前页码点颜色

    //设置当前页码点颜色(选中)
pageControl.currentPageIndicatorTintColor = [UIColor greenColor];

//7.设置分页控件背景颜色

    //设置该实例背景颜色
pageControl.backgroundColor = [UIColor grayColor];

//8.添加分控控件事件

    //添加分页控件事件
[pageControl addTarget:self action:@selector(pageControlChanged:) forControlEvents:UIControlEventValueChanged];

//9.将分页控件添加到窗体中

    //添加控件到窗体中
[self.window addSubview:pageControl];

//10.在屏幕显示对象

    //发送的用户的请求,使用对象的主窗口显示到屏幕的最前端
[self.window makeKeyAndVisible];

分页控件事件触发:

#pragma mark -pageControlChanged:显示当前页数

-(void)pageControlChanged:(UIPageControl*)sender
{
NSLog(@"currentPage:%ld",sender.currentPage);
}

演示结果如下:

没有触发分页控件事件时,页码点截图:

触发分页控件事件时,页码点截图和输出结果为:

-- ::57.848 分页控件UIPageControl[:] currentPage:

iOS:分页控件UIPageControl的使用的更多相关文章

  1. iOS 基础控件(下)

    上篇介绍了UIButton.UILabel.UIImageView和UITextField,这篇就简短一点介绍UIScrollView和UIAlertView. UIScrollView 顾名思义也知 ...

  2. OCUI界面设计:滚动视图与分页控件初探

    滚动视图(UIScrollView) 简单介绍 1.UIScrollView滚动视图能够排列并显示超出自身显示范围的内容. 2.UIScrollView内部整合了多种手势来达到丰富的界面展示效果. 3 ...

  3. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  4. 在DevExpress程序中使用Winform分页控件直接录入数据并保存

    一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...

  5. asp.net webform 自定义分页控件

    做web开发一直用到分页控件,自己也动手实现了个,使用用户自定义控件. 翻页后数据加载使用委托,将具体实现放在在使用分页控件的页面进行注册. 有图有真相,给个直观的认识: 自定义分页控件前台代码: & ...

  6. asp.net分页控件

    一.说明 AspNetPager.dll这个分页控件主要用于asp.net webform网站,现将整理代码如下 二.代码 1.首先在测试页面Default.aspx页面添加引用 <%@ Reg ...

  7. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  8. 仿淘宝分页按钮效果简单美观易使用的JS分页控件

    分页按钮思想:  1.少于9页,全部显示  2.大于9页,1.2页显示,中间页码当前页为中心,前后各留两个页码  附件中有完整例子的压缩包下载.已更新到最新版本  先看效果图:  01输入框焦点效果  ...

  9. winform快速开发平台 -> 基础组件之分页控件

    一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. ...

随机推荐

  1. redis 的优化

    1.pipeling “请求-响应”模式的服务器在处理完一个请求后就开始处理下一个请求,不管客户端是否读取到前一个请求的响应结果.这让客户端不需要发一个请求等一个响应的串行,可以一次发送多个请求,再最 ...

  2. Search a 2D Matrix——两度二分查找

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  3. 一次cloudstack启动cloudstack-agent报错的处理过程

    http://www.bubuko.com/infodetail-2397888.html

  4. Java学习笔记(七)——获取类中方法的信息,java的LinkedList

    [前面的话] 在实际项目中学习知识总是最快和最有效的,既能够较好的掌握知识,又能够做出点东西,还是简单的知识总结,最近一直在总结笔记,写的东西还是比较水,希望慢慢可以写出一些干货. 学习过程中的小知识 ...

  5. 【JBPM4】流程任务变量存取

    任务变量与流程变量的操作相同,前者帮定任务ID,后者绑定流程ID. 添加任务变量 //创建流程引擎 ProcessEngine processEngine = Configuration.getPro ...

  6. php 公历农历互相转换

    废话不多,直接上代码 <?php class Lunar { /** * Created by 闻海南. * User: timeless * Date: 2018-5-29 * Time: 上 ...

  7. sql几种删除语句的联系与区别

    DELETE.TRUNCATE.DROP三种删除语句联系与区别 相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是D ...

  8. centos 7 mini版中安装Python3.x

    首先了解几句Linux命令是必须的.例如 ls, vi, wget, rm, mv, cd, su, sudo, chmod, tar等等一些常用的语句命令是有必要知道它的用法的. 安装Python3 ...

  9. CodeForces 723E One-Way Reform

    构造. 有一种十分巧妙的方法可以使图中所有度数为偶数的节点,经过每条边定向后,出度和入度都相等. 首先统计每个节点的度数,将度数为奇数的节点与编号为$n+1$的节点连边,这样一来,这张新图变成了每个节 ...

  10. 使用kubeadm搭建kubernetes1.10集群 Posted on April 14, 2018

    https://blog.qikqiak.com/post/use-kubeadm-install-kubernetes-1.10/ kubeadm是Kubernetes官方提供的用于快速安装 Kub ...