利用UIScrollView和UIPageControl实现多页图片欢迎页面
在.h文件当中实现UIScrollViewDelegate协议,让控制器充当代理:
- #import <UIKit/UIKit.h>
- @interface RPRootViewController : UIViewController <UIScrollViewDelegate>
- @property (retain, nonatomic) UIScrollView *scrollView;
- @property (retain, nonatomic) UIPageControl *pageControl;
- @end
实现文件如下:
- #import "RPRootViewController.h"
- @interface RPRootViewController ()
- @end
- @implementation RPRootViewController
- - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
- {
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
- if (self) {
- // Custom initialization
- }
- return self;
- }
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- CGFloat scrollWidth = [[UIScreen mainScreen] bounds].size.width;
- CGFloat scrollHeight = [[UIScreen mainScreen] bounds].size.height;
- //定义分页控件
- self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(, , scrollWidth, 20)];
- self.pageControl.center = CGPointMake(scrollWidth * 0.5, scrollHeight - );
- self.pageControl.userInteractionEnabled = NO;
- self.pageControl.numberOfPages = ;
- self.pageControl.currentPage = ;
- //定义滚动视图
- self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(, , scrollWidth, scrollHeight)];
- self.scrollView.contentSize = CGSizeMake( * scrollWidth, scrollHeight);
- self.scrollView.pagingEnabled = YES;
- self.scrollView.delegate = self;
- //添加7张图片
- for (int i = ; i <= ; i++) {
- UIImageView *imageView = [[[UIImageView alloc] initWithFrame:CGRectMake(scrollWidth * (i - ), , scrollWidth, scrollHeight)] autorelease];
- imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"img%d.png", i]];
- [self.scrollView addSubview:imageView];
- }
- [self.view addSubview:self.scrollView];
- [self.view addSubview:self.pageControl];
- }
- - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
- int pageNo = self.scrollView.contentOffset.x / self.scrollView.frame.size.width;
- self.pageControl.currentPage = pageNo;
- }
首先,先添加滚动视图后添加分页控件,并且禁止分页控件的用户交互,不然视图就不会出现滚动效果了。
在代理方法当中用偏移量除以控件宽度,可以得到页数。
利用UIScrollView和UIPageControl实现多页图片欢迎页面的更多相关文章
- 使用UIScrollView和UIPageControl做一个能够用手势来切换图片的效果
利用UIScrollView的滚动效果来实现,先上图: 实现过程是:在viewController里先增加UIScrollView和UIPageControl: -(void) loadView { ...
- UI:UIScrollView、UIPageControl
一.UIScrollView的常⽤用属性 二.UIScrollView的常⽤用代理方法 三.UIPageControl的使⽤用 四.UIPageControl与UIScrollView的结合使⽤用 U ...
- UIScrollView和UIPageControl学习使用
# UIScrollView和UIPageControl # 概要 对于同一个页面需要展示很多图片信息.子视图等的这样的需求,我们可以采用控件UIScrollVIew,与之常常一起使用的控件是UIPa ...
- 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布 ...
- 利用CSS、JavaScript及Ajax实现图片预加载的三大方法(转)
预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布 ...
- 利用CSS、JavaScript及Ajax实现图片预加载的三大方法及优缺点分析
预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布 ...
- iOS 新手引导页图片适配及其尺寸大全
早期新手引导页只需要几张图片就可以解决了,随着屏幕尺寸的的越来越多,新手引导页的尺寸适配起来越来越麻烦,否则就会出现尺寸不匹配,图片被拉伸的情况 目前应该是有2种方法来解决这个问题 方法1: 根据每款 ...
- 在QMainWindow中利用多个QDockWidget构成标签页tab(原创)
功能描述: 在QMainWindow下,使用多个QDockWidget构成可切换,可拖动,可关闭的标签页:标签页的切换由相关联的QAction触发. 实现效果: 代码如下: QDockWidget * ...
- ionic 图标以及启动页图片不能正确加载
前段时间莫名其妙的发现发布的app不能正常的现实图标和启动页了,加载出来的图标以及图片显示的都是cordova的默认图片以及启动页图片 在网上找了很多教程各种查找都不能解决方法 表现原因为: 项目根目 ...
随机推荐
- Struts2命名空间问题
警告: No configuration found for the specified action: '/myNameSpace/login.action' in names 今天花了点时间把st ...
- 常用在线工具及API网址总结
1.小图标在线查找 https://www.iconfinder.com/ 2.在线做图,Flowchart流程图,BPMN图,Org组织结构图等 http://www.processon.com/ ...
- Invalidate(TRUE)与Invalidate(FALSE)区别(前者会发送WM_ERASEBKGND消息全部刷新,然后使用WM_PAINT消息绘制,而后者只发送WM_PAINT消息)
使用Invalidate(TRUE)函数时,它会向消息队列中添加了WM_ERASEBKGND和WM_PAINT两个消息. 使用Invalidate(FALSE)函数时,它只会向消息队列中添加了WM_P ...
- 动态规划——数字三角形(递归or递推or记忆化搜索)
动态规划的核心就是状态和状态转移方程. 对于该题,需要用抽象的方法思考,把当前的位置(i,j)看成一个状态,然后定义状态的指标函数d(i,j)为从格子出发时能得到的最大和(包括格子本身的值). 在这个 ...
- 初探ListView和Adapter
关于Android Adapter(适配器),参考Devin Zhang’s blog.简单的说,Adapter起到的作用是使得前端的显示和后端的数据能够适配,用以下代码作为例子 1234567891 ...
- javascript小知识1 this的用法
函数的应用: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- 【Android】自带Theme
[Android]自带Theme android之uses-permission 在编写Android程序时经常会忘记添加权限,下面是网上收集的关于Android uses-permission的 ...
- 【数据库】SQL优化方法汇总
最近在研究SQL语句的优化问题. 下面是从网上搜集的,有的地方有点老了,可是还是有很多可以借鉴的地方的. 如何加快查询速度? 1.升级硬件. 2.根据查询条件,建立索引,优化索引.优化访问方式,限制结 ...
- poj2478--欧拉函数打表
此题中对时间有要求,如直接使用欧拉函数求解,每输入一个n,就得进行循环求出<n的每个数的欧拉函数, 这样会超时, 于是我们可预先将欧拉函数打表, 再进行一个循环加法运算,便可不超时得解. #in ...
- stat 函数讲解
表头文件: #include <sys/stat.h> #include <unistd.h>定义函数: int stat( ...