[置顶] ios 无限循环翻页源码例子
原创文章,转载请注明出处:http://blog.csdn.net/donny_zhang/article/details/9923053
demo功能:ios 无限循环翻页源码例子。iphone 6.1测试通过。
demo说明:MyScrollView.m中又主要的页面控制代码。使用 UIScrollView和 UIPageControl控件。通过在滚动结束时设置uiscrollview的内容起始坐标来实现无限制循环。
demo截屏:
demo主要代码:MyScrollView.m
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code //UIScrollView
carScroll=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 1024, 748)];
[carScroll setContentSize:CGSizeMake(1024*(TOTLE_PAGE+1), 100)];
[carScroll setShowsHorizontalScrollIndicator:NO];
[carScroll setPagingEnabled:YES];
[carScroll setDelegate:self]; for(int i=0; i<TOTLE_PAGE+1; i++) {
UIImageView *scrollImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",i]]] ;
scrollImg.frame = CGRectMake(1024*i, 0, 1024, 748);
scrollImg.tag = 2220+i;
scrollImg.userInteractionEnabled = YES;
UITapGestureRecognizer *tapGestrue = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];
[scrollImg addGestureRecognizer:tapGestrue];
[tapGestrue release], tapGestrue = nil;
[carScroll addSubview:scrollImg];
[scrollImg release], scrollImg = nil;
}
[self addSubview:carScroll]; //carPageControl
carPageControl=[[UIPageControl alloc] initWithFrame:CGRectMake(380, 700, 350, 26)];
[carPageControl setNumberOfPages:TOTLE_PAGE];
[carPageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
[self addSubview:carPageControl]; }
return self;
} #pragma mark -
#pragma ScrollView Delegate -(void) scrollViewDidScroll:(UIScrollView *)scrollView
{
int offsetX = scrollView.contentOffset.x;
if(offsetX < 0){
[scrollView setContentOffset:CGPointMake(1024*TOTLE_PAGE, 0)];
}
if(offsetX > 1024*TOTLE_PAGE){
[scrollView setContentOffset:CGPointMake(0, 0)];
}
} - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
int offsetX = scrollView.contentOffset.x;
if(offsetX/1024 == TOTLE_PAGE){
[scrollView setContentOffset:CGPointMake(0, 0)];
carPageControl.currentPage = 0;
}
if(offsetX%1024 == 0){
[carPageControl setCurrentPage:scrollView.contentOffset.x/1024];
}
}
demo下载地址:http://download.csdn.net/detail/donny_zhang/5914159
[置顶] ios 无限循环翻页源码例子的更多相关文章
- 自己定义 ViewGroup 支持无限循环翻页之三(响应回调事件)
大家假设喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处,再次感谢 ################################ ...
- HTML多图无缝循环翻页效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- iOS即时通讯之CocoaAsyncSocket源码解析五
接上篇:iOS即时通讯之CocoaAsyncSocket源码解析四 原文 前言: 本文为CocoaAsyncSocket Read篇终,将重点涉及该框架是如何利用缓冲区对数据进行读取. ...
- iOS即时通讯之CocoaAsyncSocket源码解析一
申明:本文内容属于转载整理,原文连接 前言: CocoaAsyncSocket是谷歌的开发者,基于BSD-Socket写的一个IM框架,它给Mac和iOS提供了易于使用的.强大的异步套接字库,向上封装 ...
- iOS即时通讯之CocoaAsyncSocket源码解析四
原文 前言: 本文为CocoaAsyncSocket源码系列中第二篇:Read篇,将重点涉及该框架是如何利用缓冲区对数据进行读取.以及各种情况下的数据包处理,其中还包括普通的.和基于TLS的不同读取操 ...
- iOS即时通讯之CocoaAsyncSocket源码解析二
原文 前言 本文承接上文:iOS即时通讯之CocoaAsyncSocket源码解析一 上文我们提到了GCDAsyncSocket的初始化,以及最终connect之前的准备工作,包括一些错误检查:本机地 ...
- 一个功能齐全的IOS音乐播放器应用源码
该源码是在ios教程网拿过来的,一个不错的IOS音乐播放器应用源码,这个是我当时进公司时 我用了一晚上写的 图片都是在别的地方扒的,主要是歌词同步,及上一曲,下一曲,功能齐全了 ,大家可以学习一下吧 ...
- ios版弹珠游戏源码
这个是我们比较喜欢玩的一直小游戏的,ios版弹珠游戏源码,该游戏源码来着IOS教程网其他网友提供上传的,大家可以了解一下吧. nore_js_op> <ignore_js_op&g ...
- IOS版新闻客户端应用源码项目
IOS版新闻客户端应用源码,这个是一款简单的新闻客户端源码,该应用实现没采用任何第三方类库的 ,并且这个应用的UI做得很不错的,值得我们的参考和学习,希望大家可以更加完善这款新闻类的应用吧. 源码下载 ...
随机推荐
- 关于socket知识整理
一个完整的计算机系统是由硬件.操作系统.应用软件三者组成,具备了这三个条件,一台计算机系统就可以玩单机游戏.如果你想上网(访问个黄色网站,发个黄色微博啥的),就需要遵守网络协议,即计算机之间交流的标准 ...
- Python中 *args 和 **kwargs 的区别
先来看个例子: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '----------- ...
- noi 2727:仙岛求药
2727:仙岛求药 总时间限制: 1000ms 内存限制: 65536kB 描述 少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶.叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难 ...
- [CC-MCHEF]MasterChef
[CC-MCHEF]MasterChef 题目大意: \(n(n\le10^5)\)片花,第\(i\)片花的美观度为\(b_i(|b_i|\le10^9)\).总体美观度为各片花的美观度之和. 由于有 ...
- Codechef December Challenge 2014 Chef and Apple Trees 水题
Chef and Apple Trees Chef loves to prepare delicious dishes. This time, Chef has decided to prepare ...
- Linux下Nginx+多Tocat下的负载均衡环境的简单搭建
本文主要分为四个部分: 1.Nginx的搭建:2.JDK+Tomcat的搭建:3.静态HTML的访问配置:4.负载均衡的配置 ===================================== ...
- spring @Transactional注解无效
<!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jd ...
- POJ 1470 Closest Common Ancestors (LCA, dfs+ST在线算法)
Closest Common Ancestors Time Limit: 2000MS Memory Limit: 10000K Total Submissions: 13370 Accept ...
- 【Go入门教程5】流程(if、goto、for、switch)和函数(多个返回值、变参、传值与传指针、defer、函数作为值/类型、Panic和Recover、main函数和init函数、import)
这小节我们要介绍Go里面的流程控制以及函数操作. 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.Go中流程控制分三大类:条件判断,循环控制和 ...
- web服务器boa的移植
1.下载官方网站 http://www.boa.org/ 我下载的是0.94.13版本 2.解压 tar -zxvf boa-0.94.13.tar.gz 3.进入src目录 ./configure ...