UIScrollView 滑动试图
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 滑动试图的更多相关文章
- 固定UIScrollView滑动的方向
固定UIScrollView滑动的方向 一般而言,我们通过这两个参数CGRectMake以及contentSize就可以自动的让UIScrollView只往一个方向滚动.但我遇到过非常奇葩的情况,那就 ...
- UIScrollView 滑动复位
需求 在每次打开界面滑动列表都是复位状态(未滑动). 分析 在制作滑动列表时常常会结合UIPanel和UIScrollView 要让滑动列表回到未滑动时的位置,那么就需要改变Panel的Clippin ...
- iOS中如何使定时器NSTimer不受UIScrollView滑动所影响
以下是使用 scheduledTimerWithTimeInterval 方法来实现定时器 - (void)addTimer { NSTimer scheduledTimerWithTimeInter ...
- UIScrollView原理
我是Mike Ash的Let’s Build…系列文章的忠实粉丝,在这一系列文章中他从头设计Cocoa的控件来解释他们的工作原理.在这里我要做一点类似的事情,用几行代码来实现我自己的滚动试图.不过首先 ...
- IOS开发之--UIScrollView pagingEnabled自定义翻页宽度
用到UIScrollview的翻页效果时,有时需要显示一部分左右的内容,但是UIScrollView的PagingEnabled只能翻过整页,下面几个简单的设置即可实现 技术点: 1. 创建一个继承U ...
- 根据滑动显隐状态栏的iOS实现
之前很多兄弟问如何实现类似于淘宝客户端搜索列表那种动态显隐的效果,这几天刚好有时间,就实现了几个例子搞一下,其实原理很简单,也参考了github上一位兄弟的实现.不多说,上代码 @interface ...
- IOS开发之UIScrollVIew运用
UIScrollView可以实现在一个界面看到所有内容,同时也不需要担心所显示的内容超出屏幕的大小,当超出之后可以翻阅至下一页浏览. #pragma mark - UIScrollViewDelega ...
- 如何在ScrollView滑动的瞬间禁用拖拽手势
如何在ScrollView滑动的瞬间禁用拖拽手势 效果: 在UIScrollView滑动的瞬间禁用pan手势,可以防止用户按着屏幕不放后导致出现的一些莫须有的bug. // // ViewContro ...
- CoreAnimation6-基于定时器的动画和性能调优
基于定时器的动画 定时帧 动画看起来是用来显示一段连续的运动过程,但实际上当在固定位置上展示像素的时候并不能做到这一点.一般来说这种显示都无法做到连续的移动,能做的仅仅是足够快地展示一系列静态图片,只 ...
随机推荐
- C++中使用stringstream简化类型转换
C++标准库中的<sstream>提供了一个stringstream,以前基本没用过,突然发现很好用(^-^)V 参见 http://www.cplusplus.com/reference ...
- winPcap_2_编译环境*注意*
使用WinPcap编程 创建一个使用 wpcap.dll 的应用程序 用 Microsoft Visual C++ 创建一个使用 wpcap.dll 的应用程序,需要按以下步骤: 在每一个使用了库的源 ...
- jQuery 文字截取
HTML <div class="summary"> <p class="news">业内知道,当赵科林“过档”联想之初,恰逢联想 ...
- JavaScript 作用域和闭包
作用域的嵌套将形成作用域链,函数的嵌套将形成闭包.闭包与作用域链是 JavaScript 区别于其它语言的重要特性之一. 作用域 JavaScript 中有两种作用域:函数作用域和全局作用域. 在一个 ...
- 继刚接触play framework后,一些心得
我是个小菜鸟,我这些体会跟心得纯属个人观点,仅供参考,勿喷,我想记录下学习的历程,不断成长 在play2.0的框架里面 用到的最多的语言就是scala,对于习惯了java语言的我们来说 看这些语言 ...
- 使用pip install 或者easy_install安装Python的各种包出现cc failed with exit status 1
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- LeetCode_Populating Next Right Pointers in Each Node II
Follow up for problem "Populating Next Right Pointers in Each Node". What if the given tre ...
- shell 脚本FTP自动上传文件
下面的脚本 会把本地的文本文件压缩后, 上传到FTP服务器上. 里面有一点小逻辑, 就是上传的文本文件 是 日期时间.txt 形式的, 一天写一个日志文件, 今天的文件不上传, 只上传 老的日志文件. ...
- 避免ssh断开导致运行命令的终止:screen
事情是这样的,需要使用ssh登陆服务器,进行工程的编译,结果不知道什么原因ssh出现write failed:broken pipe,掉线了.反复实验了好几次还是这样(白花花的时间啊,又是config ...
- mysql导入到elasticsearch
JDBC importer for Elasticsearch Java Database 连接(JDBC) 导入运行获取数据从JDBC 源 安装: 1.在下面的步骤 替换<version> ...