文档章节

scrollView循环播放器(一)

我爱觉觉
 我爱觉觉
发布于 2015/11/03 15:29
字数 336
阅读 138
收藏 4

/**

 *  设置scrollView

 */

- (void)setUpScrollView:(NSArray *)array {

    UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:self.bounds];

    scrollView.delegate = self;

    scrollView.pagingEnabled = YES;

    scrollView.showsHorizontalScrollIndicator = NO;

    scrollView.showsVerticalScrollIndicator = NO;

    [self addSubview:scrollView];

    self.scrollView = scrollView;

}


/**

 *  设置scrollView的滚动图片

 */

- (void)setUpImage:(NSArray *)array {

    CGSize contentSize;

    CGPoint startPoint;

    

        for (int i = 0; i < array.count; i++) {

            UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(i * self.frame.size.width, 0, self.frame.size.width, self.frame.size.height)];

            imageView.image = [UIImage imageNamed:array[i]];

            [self.scrollView addSubview:imageView];

            contentSize = CGSizeMake(array.count * self.frame.size.width, 0);

            startPoint = CGPointZero;

        }

    

    self.scrollView.contentSize = contentSize;

}


#pragma mark - scrollView代理方法

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

{

    NSLog(@"scrollViewDidScroll");

    

    if (scrollView.contentOffset.x < 0) {

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

        NSLog(@"scrollView.contentOffset.x < self.frame.size.width");

        [self.scrollView setContentOffset:CGPointMake(self.frame.size.width * self.imageArray.count, 0) animated:NO];

    }

    

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

}

  

demo只实现向右滑动,不断播放的效果。来说一下,这段代码。[self.scrollView setContentOffset:CGPointMake(self.frame.size.width * self.imageArray.count0animated:NO];这里为什么是 self.imageArray.count 而不是self.imageArray.count - 1呢,因为当我们滑动,这里重新赋值之后,还会执行向右滑动整个page的功能,所以这里是最后一张图片的下一个图片的起始点(其实根本没有这个图片,所以这里会有点卡)。而不是说我门滑动之后,就只执行赋值的代码就不执行别的代码了。具体的优化和完整的功能实现,会后续再写。

© 著作权归作者所有

共有 人打赏支持
我爱觉觉
粉丝 2
博文 49
码字总数 10640
作品 0
海淀
私信 提问
iOS-QQ音乐播放器的简单实现

一. QQ音乐播放器的简单实现 每个音乐播放器的实现都大致相同,个人认为难点在于歌曲播放与Slider的同步,歌词的解析与播放的同步。这些过程虽然繁琐,但是理解起来并不难。先来看看简单实现...

xx_cc
2016/10/21
0
0
【iOS-Cocos2d游戏开发之十六】添加本地通知(UILocalNotification)以及添加系统组件滚动视图(UIScrollView)!【2011年11月15日更新】

李华明Himi 原创,转载务必在明显处注明: 转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/492.html -------------【11月28日更新解决添加组件Cocos2d动画停止...

迷途d书童
2012/03/19
0
0
UIImageView,UIScrollView

//实例化一个UIImageView的对象 // [self.view addSubview:view]; } ( void )moveView:( UIButton * )sender{ // _imageView.transform = CGAffineTransformMakeTranslation(-10, 0); } ( v......

细雨微风轻诉流年
2016/06/30
7
0
【iOS-Cocos2d游戏开发之十六】添加本地通知(UILocalNotification)以及添加系统组件滚动视图(UIScrollView)!

————-【11月28日更新解决添加组件Cocos2d动画停止播放的BUG】——– 【iOS-Cocos2d游戏开发之七】在cocos2d中添加/删除系统组件,并解决View设置透明会影响View中的其他组件的问题【11月...

junwong
2012/03/02
1K
0
阿里云播放器SDK的正确打开方式 | 版本差异与三大典型应用场景(二)

阿里云播放器SDK(ApsaraVideo for Player SDK)是阿里视频云端到云到端服务的重要一环,除了支持点播和直播的基础播放功能外,还深度融合视频云业务,支持视频的加密播放、安全下载、首屏秒...

樰篱
2017/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【大数据分析常用算法】9、马尔科夫模型

简介 这一章节我们讲解马尔科夫模型。给定一组随机变量(如顾客最近的交易日期),马尔科夫模型只根据前一个状态(前一个最近交易日期)的分部指示该变量最近的分布。 1、马尔科夫链基本原理...

Areya
1分钟前
0
0
vue自定义属性

vue自定义属性如果是固定的非写死的,可以直接写,例如 <button vkshop-event-name="buyNow" vkshop-event-type="click"></button> 如果是动态属性,需要加冒号 : <button :vkshop-event-na......

litCabbage
4分钟前
0
0
Java 线程池的使用好处

使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存 以下是Java自带的几种线程池: 1、newFixedT...

飓风2000
7分钟前
0
0
Ubuntu 16.04安装Java 8

1 Java 8 下载地址 http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html 2 以root用户登录将下载的jdk-8u92-linux-x64.tar.gz文件放到/temp目录下......

群星纪元
18分钟前
0
0
我们总结了每个技术团队都会遇到的 4 个难题

阿里巴巴 2019 年实习生校园招聘已经启动,为此,我们整理了一篇《每个技术团队都会遇到的4个难题》,帮助即将从校园进入公司实习的后端程序员,以实践的视角,看看一个后端技术团队会遇到的...

阿里云云栖社区
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部