前言

  • iPhone 和 iPad 都是通过页控件来展示多个桌面,很多 App 在第一次使用时也会使用页控件来介绍自己的功能,页控件的交互效果非常好,适用于把几个简单的页面充分展示出来。

1、UIPageControl 的创建

// 实例化页控制器
UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 0, 300, 30)]; // 添加到窗口中
[self.view addSubview:pageControl]; // 设置位置
pageControl.center = CGPointMake(self.view.bounds.size.width / 2, self.view.bounds.size.height - 50);
// 设置个数
pageControl.numberOfPages = 15;

2、UIPageControl 的设置

// 设置 frame
/*
高度设置无效
*/
pageControl.frame = CGRectMake(10, 200, 10, 0); // 设置位置
pageControl.center = CGPointMake(self.view.bounds.size.width / 2, self.view.bounds.size.height - 50); // 设置个数
pageControl.numberOfPages = 15; // 设置颜色 // 当前页面小圆点的颜色
pageControl.currentPageIndicatorTintColor = [UIColor greenColor]; // 其它页面小圆点的颜色
pageControl.pageIndicatorTintColor = [UIColor redColor]; // 设置当前页
/*
设置高亮显示点
*/
pageControl.currentPage = 0; // 设置只有一页时是否隐藏页码指示器
/*
default is NO
*/
pageControl.hidesForSinglePage = YES; // 设置是否可点击
/*
点击的是页控制器的左边或右边,依次左移或右移,具体点击某个点时没有反应
*/
pageControl.userInteractionEnabled = YES; // 添加点击触发事件
/*
点击的是页控制器的左边或右边,依次左移或右移,具体点击某个点时没有反应
*/
[pageControl addTarget:self action:@selector(pageControlClick:) forControlEvents:UIControlEventValueChanged];

3、页控制器小圆点随视图滚动

  • 3.1 页控制器小圆点随视图滚动

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

	UIPageControl *pageControl = (id)[self.view viewWithTag:200];

	// 计算当前页数
/*
小数四舍五入为整数:(int)(小数 + 0.5)
0.3 > (int)(0.3 + 0.5) > 0
0.6 > (int)(0.6 + 0.5) > 1
*/
int pageNum = (int)(scrollView.contentOffset.x / scrollView.frame.size.width + 0.5); // 设置当前页
pageControl.currentPage = pageNum;
}
  • 3.2 视图随页控制器小圆点滚动

/*
点击的是页控制器的左边或右边,依次左移或右移,具体点击某个点时没有反应
*/
- (void)pageControlClick:(UIPageControl *)pageControl { UIScrollView *scrollView = (id)[self.view viewWithTag:100]; // 计算点击的页面
CGFloat pageOffsetX = scrollView.frame.size.width * pageControl.currentPage; // 设置 scrollView 的偏移量
scrollView.contentOffset = CGPointMake(pageOffsetX, 0);
}

UIPageViewController的更多相关文章

  1. iOS UIPageViewController缺陷

    为什么弃用UIPageViewController?问题1:设置UIPageViewController为UIPageViewControllerTransitionStyleScroll且调用set ...

  2. iOS UIPageViewController

    UIPageViewController是App中常用的控制器.它提供了一种分页效果来显示其childController的View.用户可以通过手势像翻书一样切换页面.切换页面时看起来是连续的,但静 ...

  3. Learn how to Use UIPageViewController in iOS

    下面学习内容来自国外的IOS学习网站:The AppGuruz: UIPageViewController in iOS  也许需要FQ哦 认真做一遍上面入门UIPageController的教程,然 ...

  4. UIPageViewController跳跃切换的问题

    使用的是XHScrollMenu和UIPageViewController来构建5个页面: ViewController1, ViewController2, ViewController3, Vie ...

  5. 如何使用Storyboard创建UIPageViewController

    之前我们已经讲过UIPageViewController,那篇文章演示了如何使用Interface Builder创建UIPageViewController.为了适配iOS7和Xcode5,我们重新 ...

  6. 关于UIPageViewController那些事

    一.前言 这些天有新生问及UIPageViewController这个视图控制器,自己原来没有用过,所以就看了一下相关的知识,就写了下来,分享一下经验. 主要的关于这个控制器的内容就从例子中去解说了. ...

  7. swift:简单使用翻页控制器UIPageViewController

    一.小叙 UIPageViewController是一个实现图书阅读的控制器,使用它可以设置书脊位置.单双页.过渡效果等,它是通过代理的方式来实现翻页,也即上一页.下一页.最终这个UIPageView ...

  8. UIPageViewController基本使用

    UIPageViewController基本使用 @interface ViewController ()<UIPageViewControllerDelegate,UIPageViewCont ...

  9. iOS:UIPageViewController翻页控制器控件详细介绍

    翻页控制器控件:UIPageViewController 介绍: 1.它是为我们提供了一种类似翻书效果的一种控件.我们可以通过使用UIPageViewController控件,来完成类似图书一样的翻页 ...

  10. iOS 5 :一个UIPageViewController程序示例

    原文:http://www.techotopia.com/index.php/An_Example_iOS_5_iPhone_UIPageViewController_Application 在Xco ...

随机推荐

  1. Mstar 编译器的搭建

    机顶盒: 1.解压“mipsisa32-elf-3.4.4-20101123.i386linux.tar.gz" 应用编译器 2.mips-4.3-51-mips-linux-gnu-i68 ...

  2. [转载]Python print函数用法,print 格式化输出

    使用print输出各型的 字符串 整数 浮点数 出度及精度控制 strHello = 'Hello Python' print strHello #输出结果:Hello Python #直接出字符串 ...

  3. mjpg-streamer移植

    本文的copyright归yuweixian4230@163.com 所有,使用GPL发布,可以自由拷贝,转载.但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途. 作者:yuweix ...

  4. 数据库学习笔记 (三) python操作数据库

    python 操作MYSQL数据库主要有两种方式: 使用原生模块:pymysql ORM框架:SQLAchemy 一.pymysql 1.1下载安装模块 第一种:cmd下:执行命令下载安装:pip3 ...

  5. 2015.4.25利用UIAutomation 替代API函数,解决了ListView无法读数据的难题,顺便实现了鼠标模拟滚轮

    UIAutomation比API的优点是类似于消息处理机制,而不是主要靠模拟鼠标键盘发送消息 首先添加引用UIAutomationClient和UIAutomationTypes,在安装.net3.5 ...

  6. Windows下.svn文件夹的最简易删除方法(附linux)

    如果想删除Windows下的.svn文件夹,通过手动删除的渠道是最麻烦的,因为每个文件夹下面都存在这样的文件.下面是一个好办法:建立一个文本文件,取名为kill-svn-folders.reg(扩展名 ...

  7. Hbase表重命名 表改名

    PS:现在我有个表 :test11_new  ,我要给他改名 开始: 1.先disable掉表hbase(main):023:0> disable 'test11_new' 0 row(s) i ...

  8. Hive UDF开发 第一个例子

    package udf; import org.apache.hadoop.hive.ql.exec.UDF; public class helloudf extends UDF{ public St ...

  9. js实现导航栏的吸顶操作

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  10. linux 中更改权限命令chown,chmod,chgrp

    写在前面,关于chown,chmod的区别 chown用法 用来更改某个目录或文件的用户名和用户组的 chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径) 例1:chown root: ...