分页控件: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. nowcoder 提高第六场A题

    Solution 60分 因为所有的字母要么全相同要么全不同, 所以两条路径比较字典序只需要比较第一条边就可以, 于是建反图, 在反图上按拓扑序转移就可以. 因为有环, 所以拓扑完入度还是不为0的点答 ...

  2. Codeforces 873B - Balanced Substring(思维)

    题目链接:http://codeforces.com/problemset/problem/873/B 题目大意:一个字符串全部由‘0’和‘1’组成,当一段区间[l,r]内的‘0’和‘1’个数相等,则 ...

  3. POJ-1410

    Intersection Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12817   Accepted: 3343 Des ...

  4. 【hdoj_2152】Fruit(母函数)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2152 本题采用母函数模板求解,母函数模板如下: http://blog.csdn.net/ten_sory ...

  5. 怎么WordPress增加在线投稿功能

    现在很多个人博客为了增加博客的内容,都会提供投稿通道,大部分都是以邮箱的形式进行投稿,不过这样一来,也很费人力,要拷贝复制,然后编辑等.如果给博客加个在线投稿功能,那就方便多了.稍微审核下文章内容就可 ...

  6. es2015(es6)学习总结

    1.三种声明方式 var:它是variable的简写,可以理解成变量的意思. let:它在英文中是“让”的意思,也可以理解为一种声明的意思. const:它在英文中也是常量的意思,在ES6也是用来声明 ...

  7. Java 中自定义时间格式

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date d = new Date(); String s ...

  8. CodeForces 740C Alyona and mex

    构造. 比较骚的构造题.肯定可以构造出$min(R-L+1)$,只要$0$ $1$ $2$ $...$ $R-L$ $0$ $1$ $2$ $...$ $R-L$填数字即可,这样任意一段区间都包含了$ ...

  9. Python开发基础-Day5-字符编码、文件处理和函数基础(草稿)

    字符编码 为什么要有字符编码? 字符编码是为了让计算机能识别我们人写的字符,因为计算机只认识高低电平,也就是二进制数"0","1". 一个文件用什么编码方式存储 ...

  10. 2017 icpc 西安网络赛

    F. Trig Function 样例输入 2 0 2 1 2 2 样例输出 998244352 0 2 找啊找啊找数列和论文.cosnx可以用切比雪夫多项式弄成(cosx)的多项式,然后去找到了相关 ...