iOS 三個imageView實現(xiàn)圖片輪播效果

看到很多應(yīng)用里都有圖片的輪播,正好前段時間做的項目中也用到了猴仑。

就想到要寫一篇關(guān)于輪播的文章法严,來共享一下這個比較好用的圖片輪播方法村砂。

適用于輪播圖片比較多的情況烂斋,希望大家多多評論。

有什么問題也可以提出來一起討論。 廢話不多說汛骂,下面直接上代碼-------

<pre><code>
#import "ViewController.h"

#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width

#define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height

@interface ViewController () <UIScrollViewDelegate>

//實例化scrollview

- (void)createScrollView;

//scrollView添加子視圖

- (void)addChildViewAboutMyScroll;

//展示

@property (nonatomic,strong) UIScrollView *myScroll;

@end

@implementation ViewController {

  /**總頁數(shù)*/
  NSInteger _wholePages;
  /**當(dāng)前頁*/
  NSInteger _currentPage;

}

- (void)viewDidLoad {

 [super viewDidLoad];
  
  /**實例化scrollview*/
  [self createScrollView];

  /**scrollview添加子視圖*/
  [self addChildViewAboutMyScroll];

}

//實例化scrollview

- (void)createScrollView {

self.myScroll = [[UIScrollView alloc] initWithFrame:self.view.bounds];

  /**打開按頁滾動*/
  self.myScroll.pagingEnabled = YES;
  /**設(shè)置代理*/
  self.myScroll.delegate = self;
  /**初始化總頁數(shù)與當(dāng)前顯示頁*/
  _wholePages = 6;
  _currentPage = 1;
  /**設(shè)置起始顯示點*/
  self.myScroll.contentOffset = CGPointMake(_currentPage * SCREEN_WIDTH, 0);
  /**設(shè)置可滾動的最大大小*/
  self.myScroll.contentSize = CGSizeMake(3 * SCREEN_WIDTH, 0);
  /**添加到view上*/
  [self.view addSubview:self.myScroll];

}

//scrollView添加子視圖

- (void)addChildViewAboutMyScroll {

for (int i = 0; i < 3; i++) {

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(i*SCREEN_WIDTH, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
    
    /**初始化顯示三張圖片*/
    imageView.image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"海賊%02d",i] ofType:@"jpg"]];
    
    [self.myScroll addSubview:imageView];
  }

}

//數(shù)據(jù)刷新

- (void)refreshData {

  [self updateSubImageView:(_currentPage - 1) with:0];
  [self updateSubImageView:_currentPage with:1];
  [self updateSubImageView:(_currentPage + 1) with:2];

}

/**

abstact:根據(jù)傳入數(shù)據(jù)修改相對應(yīng)子視圖

imageName:拼接圖片名字

index:子視圖下標(biāo)

*/

- (void)updateSubImageView:(NSInteger)imageName with:(NSInteger)index {

  UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"海賊%02ld",((imageName + _wholePages) % _wholePages) ] ofType:@"jpg"]];

  UIImageView *imageView = self.myScroll.subviews[index];
  /**修改子視圖顯示圖片*/
  imageView.image = image;

}

#pragma mark ------------scrollview協(xié)議相關(guān)-----------

//滾動視圖停止?jié)L動

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {

  /**計算當(dāng)前顯示的是第幾頁*/
  NSInteger subViewIndex = scrollView.contentOffset.x / SCREEN_WIDTH;
  switch (subViewIndex) {
      case 0:
      {
          _currentPage = ((_currentPage - 1) % _wholePages);
          [self refreshData];
      }
          break;
        
      case 2:
      {
          _currentPage = ((_currentPage + 1) % _wholePages);
          [self refreshData];
      }
          break;
    
      default:
          break;
  }
  /**刷新ContentOffSet*/
  [self.myScroll setContentOffset:CGPointMake(SCREEN_WIDTH, 0) animated:NO];

}

</pre></code>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末罕模,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子帘瞭,更是在濱河造成了極大的恐慌淑掌,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝶念,死亡現(xiàn)場離奇詭異抛腕,居然都是意外死亡,警方通過查閱死者的電腦和手機祸轮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侥钳,“玉大人适袜,你說我怎么就攤上這事∠隙幔” “怎么了苦酱?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長给猾。 經(jīng)常有香客問我疫萤,道長,這世上最難降的妖魔是什么敢伸? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任扯饶,我火速辦了婚禮,結(jié)果婚禮上池颈,老公的妹妹穿的比我還像新娘尾序。我一直安慰自己,他們只是感情好躯砰,可當(dāng)我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布每币。 她就那樣靜靜地躺著,像睡著了一般琢歇。 火紅的嫁衣襯著肌膚如雪兰怠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天李茫,我揣著相機與錄音揭保,去河邊找鬼。 笑死魄宏,一個胖子當(dāng)著我的面吹牛掖举,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼塔次,長吁一口氣:“原來是場噩夢啊……” “哼方篮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起励负,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤藕溅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后继榆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巾表,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年略吨,在試婚紗的時候發(fā)現(xiàn)自己被綠了集币。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡翠忠,死狀恐怖鞠苟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情秽之,我是刑警寧澤当娱,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站考榨,受9級特大地震影響跨细,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜河质,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一冀惭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧掀鹅,春花似錦云头、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至科吭,卻和暖如春昏滴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背对人。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工谣殊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牺弄。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓姻几,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蛇捌,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,848評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫抚恒、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評論 4 62
  • 已晚萍恕,都散了么逸嘀?還有誰想一起憑吊科比離開的哀傷。 抱歉一開場就俗允粤。不然崭倘,就得多灌幾口雞湯才能療愈這一瞬間的悲愴,是...
    春光懶洋洋閱讀 374評論 0 0
  • 她從未見過那樣大而明亮的月亮维哈,天上一輪绳姨,水面一輪登澜。暗黑的海水翻滾出銀色浪花阔挠,一次又一次像漫不經(jīng)心,又像刻意而為似的...
    Monica愛夾饃閱讀 289評論 0 0
  • 慚愧 今天又沒好好練 上午喝茶聊天吃飯 下午睡覺看書做飯 一會跪走10分鐘吧
    了了媽2017閱讀 156評論 1 1