IOS开发基础之图片轮播器-12
生活随笔
收集整理的這篇文章主要介紹了
IOS开发基础之图片轮播器-12
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
IOS開發基礎之圖片輪播器-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 //實現UIScrollView的滾動方法 - (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;//創建一個定時器的的組件self.timer = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(scrollImage) userInfo:nil repeats:YES];// 優先級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]; }//實現即將開始拖拽 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{//調用invalidate 一旦停止計時器那么這個 計時器不可再重用,無法用了[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];// 優先級NSRunLoop *runLoop = [NSRunLoop currentRunLoop];[runLoop addTimer:self.timer forMode:NSRunLoopCommonModes]; }@end總結
以上是生活随笔為你收集整理的IOS开发基础之图片轮播器-12的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开始使用C++11的9个理由
- 下一篇: IOS开发基础之UI的喜马拉雅的项目-1