UIScrollView --->UIView

//创建UIScrollView

testScrollView=[[UIScrollView alloc]init];

testScrollView.frame=CGRectMake(0, 0, 320, 200);

testScrollView.backgroundColor=[UIColor cyanColor];

//设置UIScrollView的容量

testScrollView.contentSize =CGSizeMake(320*5, 200 );

//隐藏水平指示条

testScrollView.showsHorizontalScrollIndicator =NO;

//隐藏垂直指示条

testScrollView.showsVerticalScrollIndicator =   NO;

//是否允许分页 YES为允许 默认为NO

testScrollView.pagingEnabled =YES;

//设置边缘动画效果 NO 为无动画 默认为Yes

testScrollView.bounces =YES;

//设置代理

testScrollView.delegate =self;

//显示ScrollView

[self.view addSubview:testScrollView];

//创建一个UIPageControl,图片下面的计数点

UIPageControl *page =[[UIPageControl alloc] initWithFrame:CGRectMake(110, 130, 100, 100)];

// page.backgroundColor =[UIColor redColor];

//设置当前page的页数

page.numberOfPages =5;

//设置当前page显示哪一页

page.currentPage =0;

//设置当前未选中页的颜色

page.pageIndicatorTintColor =[UIColor yellowColor];

//设置选中的页的颜色

page.currentPageIndicatorTintColor=[UIColor redColor];

//对UIPageControl进行方法绑定

[page addTarget:self action:@selector(movePageControl:) forControlEvents:UIControlEventValueChanged];

//创建定时器

[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(move) userInfo:nil repeats:YES];

}

//静态变量 只会执行一次

static int count=-1;

//实现方法

-(void)move

{

if (page.currentPage==4||page.currentPage==0) {

count=-count;

}

page.currentPage=page.currentPage+count;

//设置每一次跳转的偏移量

testScrollView.contentOffset=CGPointMake(page.currentPage*320, 0);

}

//找到偏移量方法

-(void)movePageControl:(UIPageControl *)pageControl

{

//设置偏移量无动画效果

//testScrollView.contentOffset=CGPointMake(320 * page.currentPage, 0);

//设置scrollView偏移量并且使用动画效果

[testScrollView setContentOffset:CGPointMake(pageControl.currentPage*320, 0)];

NSLog(@"%d",pageControl.currentPage);

}

#pragma mark-

#pragma mark-UIScrollViewDelegete

//图片正在移动时调用

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

{

NSLog(@"图片正在移动时调用");

}

//图片移动开始时会调用一次

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{

NSLog(@"图片移动开始时会调用一次");

}

//当松开scrollView时会调用一次

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView

{

NSLog(@"当松开scrollView时会调用一次");

}

//scrollView滑动结束调用一次

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

NSLog(@"scrollView滑动结束调用一次");

NSLog(@"%f",scrollView.contentOffset.x);

page.currentPage= scrollView.contentOffset.x/320;

}

UIScrollView 滑动试图的更多相关文章

  1. 固定UIScrollView滑动的方向

    固定UIScrollView滑动的方向 一般而言,我们通过这两个参数CGRectMake以及contentSize就可以自动的让UIScrollView只往一个方向滚动.但我遇到过非常奇葩的情况,那就 ...

  2. UIScrollView 滑动复位

    需求 在每次打开界面滑动列表都是复位状态(未滑动). 分析 在制作滑动列表时常常会结合UIPanel和UIScrollView 要让滑动列表回到未滑动时的位置,那么就需要改变Panel的Clippin ...

  3. iOS中如何使定时器NSTimer不受UIScrollView滑动所影响

    以下是使用 scheduledTimerWithTimeInterval 方法来实现定时器 - (void)addTimer { NSTimer scheduledTimerWithTimeInter ...

  4. UIScrollView原理

    我是Mike Ash的Let’s Build…系列文章的忠实粉丝,在这一系列文章中他从头设计Cocoa的控件来解释他们的工作原理.在这里我要做一点类似的事情,用几行代码来实现我自己的滚动试图.不过首先 ...

  5. IOS开发之--UIScrollView pagingEnabled自定义翻页宽度

    用到UIScrollview的翻页效果时,有时需要显示一部分左右的内容,但是UIScrollView的PagingEnabled只能翻过整页,下面几个简单的设置即可实现 技术点: 1. 创建一个继承U ...

  6. 根据滑动显隐状态栏的iOS实现

    之前很多兄弟问如何实现类似于淘宝客户端搜索列表那种动态显隐的效果,这几天刚好有时间,就实现了几个例子搞一下,其实原理很简单,也参考了github上一位兄弟的实现.不多说,上代码 @interface ...

  7. IOS开发之UIScrollVIew运用

    UIScrollView可以实现在一个界面看到所有内容,同时也不需要担心所显示的内容超出屏幕的大小,当超出之后可以翻阅至下一页浏览. #pragma mark - UIScrollViewDelega ...

  8. 如何在ScrollView滑动的瞬间禁用拖拽手势

    如何在ScrollView滑动的瞬间禁用拖拽手势 效果: 在UIScrollView滑动的瞬间禁用pan手势,可以防止用户按着屏幕不放后导致出现的一些莫须有的bug. // // ViewContro ...

  9. CoreAnimation6-基于定时器的动画和性能调优

    基于定时器的动画 定时帧 动画看起来是用来显示一段连续的运动过程,但实际上当在固定位置上展示像素的时候并不能做到这一点.一般来说这种显示都无法做到连续的移动,能做的仅仅是足够快地展示一系列静态图片,只 ...

随机推荐

  1. iOS中发送xml给服务器

    转载自:http://www.cocoachina.com/bbs/read.php?tid-456019.html 一.用URLSession请求 NSString *soapStr = [NSSt ...

  2. 嵌入式开发——boa服务器下的ajax与cgi通信

    博主最近在最有做一个嵌入式课程设计,要求是利用基于cortax a8的物联网实验箱做一个简单的嵌入式网页交互系统作为课程设计来验收评分.因为本身自己是学前端的,所以网页部分并不是重点,主要是和boa服 ...

  3. 深入javascript——构造函数和原型对象

    常用的几种对象创建模式 使用new关键字创建 最基础的对象创建方式,无非就是和其他多数语言一样说的一样:没对象,你new一个呀! var gf = new Object(); gf.name = &q ...

  4. 线段树练习 codevs 1080

    /* codevs 1080 线段树练习 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 一行N个方格,开 ...

  5. C#通过生成ini文件,记住用户关闭程序之前的选择+忽略跨线程检查

    1.在类的里面添加 //写配置文件 [DllImport("kernel32")] private static extern long WritePrivateProfileSt ...

  6. redis的特色

    总结一下redis的特点: 1.独特的键值对模型 很多数据库只能处理一种数据结构:     • SQL 数据库 —— 表格     • Memcached —— 键值对数据库,键和值都是字符串     ...

  7. ASP转PHP手记

    打算将动易网站管理系统移植到PHP环境中,寻寻觅觅了很多PHP内容管理网站,发现网上有动易转PHPCMS的代码,所以就拿定注意用PHPCMS的在google上找到一转换程序,动手做来还成功了,现将此次 ...

  8. MySQL导入较大sql文件报错max_allowed_packet

    1.查看当前最大允许导入sql文件大小 show VARIABLES like '%max_allowed_packet%'; 2.修改方式 1.永久生效 修改my.cnf文件 vim /etc/my ...

  9. 【转】嵌入式Linux学习笔记

    一  嵌入式系统定义: 应用于特定环境的硬件体系. 二  两样非常重要的能力: 1.  掌握各种新概念的能力 2.  调试的能力( 包括软件, 硬件 ) 三  需要的基础知识: 1.  操作系统理论基 ...

  10. CS找工作好文章

    我的美国CS面试经验分享 -- 转载 怎样花两年时间去面试一个人 上面列出了一些比较好的书单 cs土硕找工作总结(二) 笔试面试准备http://blog.renren.com/blog/221227 ...