IOS开发基础之图片轮播器-12
生活随笔
收集整理的這篇文章主要介紹了
IOS开发基础之图片轮播器-12
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
IOS開發(fā)基礎(chǔ)之圖片輪播器-12
核心代碼
// // ViewController.m // 12-圖片輪播器 // // Created by 魯軍 on 2021/2/2. //#import "ViewController.h"@interface ViewController () <UIScrollViewDelegate> @property (weak, nonatomic) IBOutlet UIScrollView *scrollView; @property (weak, nonatomic) IBOutlet UIPageControl *pageControl; @property (nonatomic,strong) NSTimer *timer; @end@implementation ViewController //實(shí)現(xiàn)UIScrollView的滾動(dòng)方法 - (void)scrollViewDidScroll:(UIScrollView *)scrollView{CGFloat offsetX = scrollView.contentOffset.x;offsetX = offsetX + (scrollView.frame.size.width * 0.5);int page = offsetX / scrollView.frame.size.width;self.pageControl.currentPage = page; }- (void)viewDidLoad {[super viewDidLoad];CGFloat imgW = 300,imgH=130,imgY=0;for(int i=0;i<5;i++){UIImageView *imgView = [[UIImageView alloc] init];NSString *imgName = [NSString stringWithFormat:@"img_%02d",i+1];imgView.image = [UIImage imageNamed:imgName];CGFloat imgX = i * imgW;imgView.frame = CGRectMake(imgX, imgY, imgW, imgH);[self.scrollView addSubview:imgView];}CGFloat maxW = self.scrollView.frame.size.width * 5;self.scrollView.contentSize = CGSizeMake(maxW, 0);self.scrollView.pagingEnabled = YES;self.scrollView.showsHorizontalScrollIndicator = NO;self.pageControl.numberOfPages = 5;self.pageControl.currentPage = 0;//創(chuàng)建一個(gè)定時(shí)器的的組件self.timer = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(scrollImage) userInfo:nil repeats:YES];// 優(yōu)先級(jí)NSRunLoop *runLoop = [NSRunLoop currentRunLoop];[runLoop addTimer:self.timer forMode:NSRunLoopCommonModes];} -(void)scrollImage{NSInteger page = self.pageControl.currentPage;if(page==self.pageControl.numberOfPages-1){page = 0;}else{page++;}CGFloat offsetX = page * self.scrollView.frame.size.width;[self.scrollView setContentOffset:CGPointMake(offsetX, 0) animated:YES]; }//實(shí)現(xiàn)即將開始拖拽 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{//調(diào)用invalidate 一旦停止計(jì)時(shí)器那么這個(gè) 計(jì)時(shí)器不可再重用,無(wú)法用了[self.timer invalidate];self.timer = nil; }- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{self.timer = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(scrollImage) userInfo:nil repeats:YES];// 優(yōu)先級(jí)NSRunLoop *runLoop = [NSRunLoop currentRunLoop];[runLoop addTimer:self.timer forMode:NSRunLoopCommonModes]; }@end總結(jié)
以上是生活随笔為你收集整理的IOS开发基础之图片轮播器-12的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 开始使用C++11的9个理由
- 下一篇: IOS开发基础之UI的喜马拉雅的项目-1