
iOS App开发中的UIPageControl分页控件使用小结

分页控件是一种用来取代导航栏的可见指示器,方便手势直接翻页,最典型的应用便是iPhone的主屏幕,当图标过多会自动增加页面,在屏幕底部你会看到原点,用来只是当前页面,并且会随着翻页自动更新。
一、创建
代码如下:
UIPageControl* myPageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0.0, 400.0, 320.0, 0.0)];
二、设置属性
页面数目
myPageControl.numberOfPages =5;
默认第一页会被选中。如果要选择其他页,可以设置currentPage 属性。页面索引从 0 开始:
myPageControl.currentPage =3;// 当前页数,第四页
默认情况下,即使只有一个页面,指示器也会显示进来。如果要在仅有一个页面的情况下隐藏指示器,可以将 hideForSinglePage 的值设为 YES。
myPageControl.hidesForSinglePage=YES;
如果你希望直到有时间执行完你的操作之后,才更新当前指示器当前指示页,可以将 defersCurrentPageDisPlay 设为YES。这样的话你必须调用控件的 updateCurentPageDisPlay 来更新当前页:
myPageControl.defersCurrentPageDisplay = YES;
[myPageControl updateCurrentPageDisplay];
[self.view addSubview:myPageControl];
四、通知
当用户点触分页控件时,会产生一个 UIControlEventVakueChanged 事件。你可以用UIControl 类的 addTarget 方法,为其指定一个动作:
-(void)pageChanged:(id)sender{
UIPageControl* control = (UIPageControl*)sender;
NSInteger page = control.currentPage;
//添加你要处理的代码
}
[myPageControl addTarget:self action:@selector(pageChanged:) forControlEvents:UIControlEventValueChanged];
五、常用属性一览
//创建UIPageControl
UIPageControl * page = [[UIPageControl alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height-50, self.view.bounds.size.width, 50)];
//设置背景颜色
page.backgroundColor = [UIColor clearColor];
//设置小圆圈的个数
page.numberOfPages = 15;
//设置 小圆圈的颜色
page.pageIndicatorTintColor = [UIColor orangeColor];
//设置当前页的小圆圈颜色
page.currentPageIndicatorTintColor = [UIColor redColor];
//获取/更改当前页
page.currentPage = 1;
//增加点击事件
[page addTarget:self action:@selector(pageClick:) forControlEvents:UIControlEventValueChanged];
相关推荐
-
iOS中关于Swift UICollectionView横向分页的问题
下面通过图文并茂的形式给大家介绍UICollectionView横向分页的问题,具体内容详情如下所示: 情况 直接看图 滚前 滚后 已经设置collectionView的isPagingEnabled为true了,可是出现了这种情况,原因就是collectionView的contentSize不够. <UICollectionView: 0x7fc565076000; frame = (0 0; 375 197); clipsToBounds = YES; gestureRecognizers
-
iOS 高效的分页加载实现示例
今天在review代码的时候发现之前的tableview 和 collectview 的分页加载逻辑还有优化的余地,于是进行了优化. 一.tableview的分页加载的代码对比 没有优化之前的代码如下: [strongSelf.tableView.mj_footer endRefreshing]: [strongSelf.articleArr addObjectsFromArray:feedList]; [strongSelf.tableView reloadData]; 优化之后的代码如下:
-
iOS App开发中的UIPageControl分页控件使用小结
分页控件是一种用来取代导航栏的可见指示器,方便手势直接翻页,最典型的应用便是iPhone的主屏幕,当图标过多会自动增加页面,在屏幕底部你会看到原点,用来只是当前页面,并且会随着翻页自动更新. 一.创建 复制代码 代码如下: UIPageControl* myPageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0.0, 400.0, 320.0, 0.0)]; 二.设置属性 页面数目 复制代码 代码如下: myPageContr
-
详解iOS App开发中改变UIButton内部控件的基本方法
UIButton内部默认有个UIImageView.UILabel控件,可以分别用下面属性访问: 复制代码 代码如下: @property(nonatomic,readonly,retain) UIImageView *imageView; @property(nonatomic,readonly,retain) UILabel *titleLabel; UIButton之所以能显示文字,完全是因为它内部的titleLabel也,也就是说,UIButton的setTitle:forSta
-
ANGULARJS中使用JQUERY分页控件
首篇,不知写何物,思来想去,敬上分页控件使用方法,望共同探讨. 分页乃前端数据展现之常用功能,而在我们使用的Angular js中,原生的分页需要将数据全部取到前端后,然后再到前端分页,在大批量数据操作时并不实用.接下来,我来介绍了将一种jquery的分页控件修改为Angularjs指令的方法. 首先在web项目中引用jquery1.10.Angularjs库文件以及jq-pagination控件. 我降指令名称为custompagination,为指令添加Html样式. 然后给指令添加对应的控
-
iOS App开发中扩展RCLabel组件进行基于HTML的文本布局
iOS系统是一个十分注重用户体验的系统,在iOS系统中,用户交互的方案也十分多,然而要在label中的某部分字体中添加交互行为确实不容易的,如果使用其他类似Button的控件来模拟,文字的排版又将是一个解决十分困难的问题.这个问题的由来是项目中的一个界面中有一些广告位标签,而这些广告位的标签却是嵌在文本中的,当用户点击文字标签的位置时,会跳转到响应的广告页. CoreText框架和一些第三方库可以解决这个问题,但直接使用CoreText十分复杂,第三方库多注重于富文本的排版,对类似文字超链接的支
-
iOS App开发中的UIStackView堆叠视图使用教程
一.引言 随着autolayout的推广开来,更多的app开始使用自动布局的方式来构建自己的UI系统,autolayout配合storyBoard和一些第三方的框架,对于创建约束来说,已经十分方便,但是对于一些动态的线性布局的视图,我们需要手动添加的约束不仅非常多,而且如果我们需要插入或者移除其中的一些UI元素的时候,我们又要做大量的修改约束的工作,UIStackView正好可以解决这样的问题. 二.在storyBoard上初识StackView UIStackView是一个管理一组堆叠视图的控
-
iOS App开发中UISearchBar搜索栏组件的基本用法整理
基本属性 复制代码 代码如下: @UISearchBar search = [[UISearchBar alloc]initWithFrame:CGRectMake(0,44,320,120)]; pragma mark -基本设置 复制代码 代码如下: //控件的样式 默认--0白色,1是黑色风格 /* UIBarStyleDefault = 0, UIBarStyleBlack = 1, search.barStyle =UIBarStyleDefau
-
iOS开发中一些手写控件及其相关属性的使用
手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4)如果是button等控件,还需考虑控件的单击事件等 (5)注意:View Contollor和view的关系 2.注意点 在OC开发中,Storyboard中的所有操作都可以通过代码实现,程序员一定要熟练掌握代码布局界面的能力! 设置控件监听方法的示例代码如下: 复制代码 代码如下: [btn addTarget:s
-
iOS App开发中Masonry布局框架的基本用法解析
Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性,而且同时支持 iOS 和 Max OS X.Masonry是一个用代码写iOS或OS界面的库,可以代替Auto layout.Masonry的github地址:https://github.com/SnapKit/Masonry Masonry使用讲解: mas_makeConstraints 是给view添加约束,约束有几种,分别是边距,宽,高,左上右下距离,基准线.添加过约束后
-
总结iOS App开发中控制屏幕旋转的几种方式
在iOS6之前的版本中,通常使用 shouldAutorotateToInterfaceOrientation 来单独控制某个UIViewController的方向,需要哪个viewController支持旋转,只需要重写shouldAutorotateToInterfaceOrientation方法. 但是iOS 6里屏幕旋转改变了很多,之前的 shouldAutorotateToInterfaceOrientation 被列为 DEPRECATED 方法,查看UIViewController
-
iOS App开发中UIViewController类的使用教程
一.引言 作为MVC设计模式中的C,Controller一直扮演着项目开发中最重要的角色,它是视图和数据的桥梁,通过它的管理,将数据有条有理的展示在我们的View层上.iOS中的UIViewController是UIKit框架中最基本的一个类.从第一个UI视图到复杂完整项目,都离不开UIViewController作为基础.基于UIViewController的封装和扩展,也能够出色的完成各种复杂界面逻辑.这里旨在讨论UIViewController的生命周期和属性方法,在最基础的东西上,往往会
随机推荐
- 解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
- 去掉字符串前后所有空格的正则表达式
- 如何实现全文检索?
- ExtJS下grid的一些属性说明
- ant使用指南详细入门教程
- JavaScript移除数组内重复元素的方法
- 原生js仿jquery animate动画效果
- 解决js中window.open弹出的是上次的缓存页面问题
- ASP.NET MVC5网站开发修改及删除文章(十)
- PHP实现小偷程序实例
- php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
- Android 判断程序在前台运行还是后台运行
- Bootstrap零基础学习第一课之模板
- Bootstrap如何激活导航状态
- C++中给二维指针分配内存(实现代码)
- SQL Server Table中XML列的操作代码
- Jquery时间轴特效(三种不同类型)
- jQuery validate 验证radio实例
- jQuery性能优化28条建议你值得借鉴
- Node.js中使用计时器定时执行函数详解
其他
- react中onmouseout冒泡问题
- Android 底部菜单栏 demo
- vue 双击页面全屏
- pandas前百分之30行
- python读取word标题
- 生成的sql语句里有星期 导致转换出错
- 重装pg仍无法注册pg server
- Micronaut 多数据源
- 求n以内的所有素数python123
- php www-data curl权限
- python字典保存为csv
- 人脸年龄变化图片 python
- server 2012 创建公共ftp
- cmd 批量复制并重命名
- bootstrap的popover.js源码解析
- vue element ui 表格多级表头
- vue自定义弹窗带有遮罩层
- python按照固定形状对图像进行裁剪
- HTML获取URL参数模拟点击链接
- vue-cli4 本机IP