iOS UIScrollView定时循环播放图片
来源:互联网 发布:js 弹出输入框 编辑:程序博客网 时间:2024/05/22 14:53
一般是利用UIScrollView承载播放的图片,通过NSTimer方法和UIPageControl的currentPage数值改变达到播放效果。
- 在你的.h文件中声明控件属性(记得加上 UIScrollViewDelegate 代理)
YourProject.h{ UIPageControl *pageControl; UIScrollView *scrollView; BOOL flag ; //用于判断图片滚动到第一张或者最后一张 NSTimer *timer; NSArray *imgArray;}
2.在你的.m文件中定义控件和布局
/** scrollView和pageControl定义*/scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10, 10, self.view.frame.size.width - 20, 400)]; scrollView.showsVerticalScrollIndicator = NO; scrollView.showsHorizontalScrollIndicator = NO; scrollView.pagingEnabled = YES; scrollView.delegate = self; [self.view addSubview:scrollView];pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, ScreenWidth-20, 375, 0)]; pageControl.currentPageIndicatorTintColor = RGB(177, 177, 177); pageControl.pageIndicatorTintColor = RGB(211, 211, 211); [self.view addSubview:pageControl];/** 添加图片 假设项目中已经存在三张图片,名字分别为 pic01.png pic02.png pic03.png*/imgArray = [NSArray arrayWithObjects:@"pic01.png",@"pic02.png",@"pic03.png", nil];pageControl.numberOfPages = imgArray.count;scroll.contentSize = CGSizeMake(scrollView.frame.size.width*imgArray.count, scrollView.frame.size.height);pageControl.currentPage = 0;for (int i = 0;i < imgArray.count;i++) { UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(scrollView.frame.size.width*i, 0, scrollView.frame.size.width, scrollView.frame.size.height)]; image.contentMode = UIViewContentModeScaleAspectFit; image.image = [UIImage imageNamed:imgArray[i]]; [scroll addSubview:image];}if(imgArray.count > 1)//大于一张才循环{ timer = [NSTimer scheduledTimerWithTimeInterval:4 target:self selector:@selector(changePageWithTimeInterval) userInfo:nil repeats:YES];}
3.实现定时滚动的方法
//定时器播放图片 -(void)changePageWithTimeInterval{ if(pageControl.currentPage == 0) { flag = YES;//如果当前的pageControll页数是第一张,flag为真 } if(pageControl.currentPage == self.imgArray.count - 1) { flag = NO;//如果当前的PageControl页数是最后一张,flag为假 } if(flag) { //当前的pageControl页数是第一张时,向右滑动 NSInteger witch = pageControl.currentPage+1; [scrollView setContentOffset:CGPointMake(witch*ScreenWidth,0) animated:YES]; pageControl.currentPage = witch; } else { //当前的pageControll页数是最后一张时,向左滑动1-2-3-2-1// NSInteger witch = pageControl.currentPage-1;// pageControl.currentPage = witch; //1-2-3-1-2-3 [scrollView setContentOffset:CGPointMake(0,0) animated:YES]; pageControl.currentPage = 0; }}//scrollView 滑动播放图片- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ pageControl.currentPage = ceil(scrollView.contentOffset.x/scrollView.frame.size.width);}
1 0
- iOS UIScrollView定时循环播放图片
- iOS中UIScrollView实现图片循环播放
- UIScrollView 的图片循环+自动播放
- iOS-循环图片播放
- iOS开发之定时滑动图片(UIPageControl,UIScrollView)
- UIscrollView图片滚动循环
- UIScrollView(图片循环滚动)
- UIScrollView(循环滚动图片)
- [IOS]通过UIPageControl+UIScrollView实现图片循环轮播
- iOS 编程 利用UIScrollView 编写无缝循环显示图片
- iOS UIImageView利用UIScrollView实现图片循环滚动
- ios UIScrollView 循环滑动
- ios UIScrollView 循环滑动
- ios UIScrollView 循环滑动
- ios ----UIScrollview循环滑动
- ios UIScrollView 循环滑动
- 滚动视图(UIScrollView)无限无缝左右切换图片,自动顺序加逆序循环播放图片
- ios uiscrollview滚动图片
- String比较为什么要用equals?用==的问题
- ruby 更新到 2.3.1
- springMVC 上传和下载
- UC/OS-II学习笔记--STM32移植
- [LeetCode]N-Queens II
- iOS UIScrollView定时循环播放图片
- Oculus Utilities for Unity 插件预制体属性
- 认识 java JVM虚拟机选项 Xms Xmx PermSize MaxPermSize 区别
- xUtils的使用(一)
- JSP Cookie读取
- Oracle在线重定义DBMS_REDEFINITION 普通表—>分区表
- 【计算机网络】时延、发送时延、传输时延、处理时延、排队时延、时延带宽积
- Android Studio中Gradle介绍
- android studio File Explorer中查看不到SharedPreferences保存的文件