欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS實現(xiàn)圖片自動切換效果

 更新時間:2020年02月26日 08:49:43   作者:Vio_wang  
這篇文章主要為大家詳細介紹了iOS實現(xiàn)圖片自動切換效果,類似android畫廊效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了iOS實現(xiàn)圖片自動切換的具體代碼,供大家參考,具體內(nèi)容如下

#import "ViewController.h"
#define ImageViewCount 5
 
@interface ViewController ()<UIScrollViewDelegate>
 
@property (weak, nonatomic) IBOutlet UIScrollView *imageScrollView;
@property (weak, nonatomic) IBOutlet UIPageControl *imageViewPageControl;
@property (strong, nonatomic) NSTimer *timer;
@end
 
@implementation ViewController
 
- (void)viewDidLoad {
 [super viewDidLoad];
 
 [self addImageView2ScrollView];
 self.imageScrollView.contentSize = CGSizeMake(self.imageScrollView.frame.size.width * ImageViewCount, 0);
 
 self.imageScrollView.delegate = self;
 self.imageScrollView.pagingEnabled = YES;//UIScrollView支持拖動分頁
 self.imageViewPageControl.numberOfPages = ImageViewCount;
 
 [self addScrollTimer];
}
 
- (void)rotatePic{
 int currentPageIndex = self.imageViewPageControl.currentPage;
 if(++currentPageIndex == 5){
  currentPageIndex = 0;
 }
 CGFloat offsetX = currentPageIndex * self.imageScrollView.frame.size.width;
 [UIView animateWithDuration:1 animations:^{
  self.imageScrollView.contentOffset = CGPointMake(offsetX, 0);
 }];
}
 
/**添加圖片到imageScrollView*/
- (void)addImageView2ScrollView{
 CGFloat imageWidth = self.imageScrollView.frame.size.width;
 CGFloat imageHeight = self.imageScrollView.frame.size.height;
 for(int i = 0;i <= ImageViewCount;i++){
  UIImageView *imageInScroll = [[UIImageView alloc] init];
  imageInScroll.frame = CGRectMake(i * imageWidth, 0, imageWidth, imageHeight);
  imageInScroll.image = [UIImage imageNamed:[NSString stringWithFormat:@"img_%02d",i + 1]];
  [self.imageScrollView addSubview:imageInScroll];
 }
}
 
// 正滾動時執(zhí)行
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
 CGFloat offX = self.imageScrollView.contentOffset.x;//(0,0)距離content內(nèi)部左上頂點的x軸長度
 NSLog(@"~~~~~~~%f ^^^^^^%f", offX, self.imageScrollView.frame.size.width);
 int currentPageIndex = (offX + .5f * self.imageScrollView.frame.size.width) / self.imageScrollView.frame.size.width;
 self.imageViewPageControl.currentPage = currentPageIndex;
}
 
- (void)addScrollTimer{
 self.timer = [NSTimer timerWithTimeInterval:2 target:self selector:@selector(rotatePic) userInfo:nil repeats:YES];
 [[NSRunLoop mainRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
}
 
- (void)removeScrollTimer{
 [self.timer invalidate];//釋放定時器
 self.timer = nil;
}
 
// 開始準備滾動時執(zhí)行 移除定時滾動操作
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
 NSLog(@"~~~scrollViewWillBeginDragging");
 [self removeScrollTimer];
}
 
// 結(jié)束滾動后執(zhí)行 添加定時滾動操作
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
 NSLog(@"~~~scrollViewDidEndDragging");
 [self addScrollTimer];
}
@end

UIScrollView的運用,以上代碼中有詳細注釋,需注意2點:

1.注意設(shè)置contentSize屬性。其中contentSize表示scroll內(nèi)容尺寸大小

2.注意設(shè)置代理UIScrollViewDelegate,才可調(diào)用其中的方法

對于定時器NSTimer的運用需注意

1.在線程的loop中添加定時器

2.注意使用完成回收NSTimer

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • iOS之Cocoapods安裝教程(全面解析)

    iOS之Cocoapods安裝教程(全面解析)

    下面小編就為大家?guī)硪黄猧OS之Cocoapods安裝教程(全面解析)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • IOS身份證識別(OCR源碼)詳解及實例代碼

    IOS身份證識別(OCR源碼)詳解及實例代碼

    這篇文章主要介紹了IOS身份證識別(OCR源碼)詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • iOS App中實現(xiàn)播放音效和音樂功能的簡單示例

    iOS App中實現(xiàn)播放音效和音樂功能的簡單示例

    這篇文章主要介紹了iOS App中實現(xiàn)播放音效和音樂功能的簡單示例,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2016-03-03
  • IOS 開發(fā)APP之關(guān)于時間處理詳細介紹

    IOS 開發(fā)APP之關(guān)于時間處理詳細介紹

    這篇文章主要介紹了IOS 開發(fā)APP之關(guān)于時間處理詳細介紹的相關(guān)資料,開發(fā)APP 不僅需要對API的調(diào)用還需要對時間相關(guān)的各種API之間的差別,再因場景而異去設(shè)計相應的機制,需要的朋友可以參考下
    2016-12-12
  • IOS開發(fā)之由身份證號碼提取性別的實現(xiàn)代碼

    IOS開發(fā)之由身份證號碼提取性別的實現(xiàn)代碼

    這篇文章主要介紹了IOS開發(fā)之由身份證號碼提取性別的實現(xiàn)代碼的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • 揭開iOS逆向解密的神秘面紗

    揭開iOS逆向解密的神秘面紗

    這篇文章主要給大家介紹了關(guān)于iOS逆向解密的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-06-06
  • iOS Moya實現(xiàn)OAuth請求的方法

    iOS Moya實現(xiàn)OAuth請求的方法

    這篇文章主要介紹了iOS Moya實現(xiàn)OAuth請求的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 解決ios手機中input輸入框光標過長的問題

    解決ios手機中input輸入框光標過長的問題

    在項目中做移動端頁面,發(fā)現(xiàn)IOS 的光標大小很大,和安卓的完全不一樣,怎么來調(diào)整大小呢?下面小編給大家?guī)砹薸os手機中input輸入框光標過長問題的解決方法,一起看看吧
    2018-08-08
  • iOS實現(xiàn)UIButton的拖拽功能

    iOS實現(xiàn)UIButton的拖拽功能

    這篇文章主要為大家詳細介紹了iOS實現(xiàn)UIButton的拖拽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 110.iOS10新特性適配教程XCode8新特性解析

    110.iOS10新特性適配教程XCode8新特性解析

    這篇文章主要介紹了110.iOS10新特性適配教程XCode8新特性解析的相關(guān)資料,需要的朋友可以參考下
    2016-10-10

最新評論