利用三塊空間無(wú)限循環(huán)滾動(dòng)視圖<UIScrollView>隨筆


? ? ? 在我們學(xué)習(xí)滾動(dòng)視圖UIScrollView中,我們學(xué)習(xí)了循環(huán)滾動(dòng).原理就是n張圖片循環(huán)滾動(dòng)就放n + 2張圖片,第一個(gè)圖片的位置放最后一張圖片,最后一個(gè)圖片的位置放第一張圖片.當(dāng)滾動(dòng)到第一張或者最后一張圖片挺下的瞬間,將偏移量改變成相應(yīng)得偏移量.讓用戶(hù)體驗(yàn)到無(wú)限循環(huán)圖片.

? ? ? 但是這種方法在圖片資源非常多的時(shí)候,UIScrollView 的對(duì)象就會(huì)開(kāi)辟很大一塊空間,但是可以看到的圖片就只有一個(gè)屏幕大小,其他的圖片都在空間中存在著,這樣非常浪費(fèi)系統(tǒng)資源.

? ? ?那么我就來(lái)介紹一下,如何用三塊圖片的空間無(wú)限循環(huán)滾動(dòng)視圖.

? ? ?我們?cè)贏RC模式下編程:

? ? ?首先,我們先將屏幕的寬高,以及ImageView的數(shù)量設(shè)成宏定義,方便接下來(lái)使用.



宏定義

接下來(lái)我們定義一些接下來(lái)將要使用的屬性,都是在.m文件中的私有屬性.

私有屬性

我們將代碼寫(xiě)在lodeView中,程序是先走lodeView的,寫(xiě)在這里程序運(yùn)行速度會(huì)快上一點(diǎn),根據(jù)個(gè)人喜好.(注意不要忘記[super lodeView])



這里我們要?jiǎng)?chuàng)建一個(gè)后綴名為 .plist的imageInfo文件. 用來(lái)方便以后增加圖片. 我們本次用10張圖片演示.

文件創(chuàng)建步驟如下,

1.將圖片導(dǎo)入工程.



這里要勾選這三個(gè)選項(xiàng),這樣素材就會(huì)復(fù)制一份到你的工程中,就不怕傳給別人時(shí)沒(méi)有圖片了.

2.新建imageInfo文件


Resource 下的Property List


命名


打開(kāi)文件



將圖片寫(xiě)入文件內(nèi)

這個(gè)文件默認(rèn)是一個(gè)字典類(lèi)型的,<key></key>中放key值,<string></string>中放value,一一對(duì)應(yīng).(注意 圖片名字已經(jīng)被改成0,1,2....9.JPG ?圖片名字不要打錯(cuò), value將會(huì)是圖片上label中的文字)

NSString *path = [[NSBundle mainBundle] pathForResource:@"imageInfo" ofType:@"plist"];

讀取程序包路徑中的資源文件

因?yàn)?self.imageData = [NSMutableDictionary dictionaryWithContentsOfFile:path]; 中imageData是字典類(lèi)型的變量

他可以用文件初始化.


添加一個(gè)滾動(dòng)視圖

因?yàn)榻酉聛?lái)我們需要用到滾動(dòng)停止事件,所以需要簽協(xié)議:


簽協(xié)議



設(shè)置代理人
添加三個(gè)圖片控件
添加分頁(yè)控件

pageControl的視圖寬高是由圖片數(shù)量決定的,這么寫(xiě)可以動(dòng)態(tài)改變pageControl的寬高.


添加信息描述控件


設(shè)置默認(rèn)顯示圖片

三張圖片最左邊一張為倒數(shù)第一張圖片,中間為第一張圖片,右邊為第二張圖片.

currentImageIndex初始值設(shè)為0,正好和pageControl的currentPage一一對(duì)應(yīng).

將pageControl的初始位置設(shè)為第一個(gè)小點(diǎn).


滾動(dòng)停止事件

當(dāng)圖片滾動(dòng)停止的時(shí)候改變小點(diǎn)位置, 并且將圖片信息賦值.

reload 是自己寫(xiě)的方法.可以實(shí)現(xiàn)循環(huán)滾動(dòng).


自定義方法

更新各個(gè)位置圖片.

currentImageIndex為當(dāng)前圖片下標(biāo).

以1.JPG 2.JPG 3.JPG為例,當(dāng)向右滑動(dòng)時(shí),當(dāng)前圖片的下標(biāo)由2變成(2 + 1) % 10 = 3, 將中間圖片替換, 左圖片下標(biāo)為(3 + 10 - 1) % 10 = 2, 右圖片下標(biāo)為(3 + 1) % 10 = 4;將相應(yīng)位置圖片替換,形成循環(huán)滾動(dòng).(向左滾動(dòng)同理)





最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市博烂,隨后出現(xiàn)的幾起案子义桂,更是在濱河造成了極大的恐慌,老刑警劉巖随静,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件八千,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡燎猛,警方通過(guò)查閱死者的電腦和手機(jī)恋捆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)重绷,“玉大人沸停,你說(shuō)我怎么就攤上這事≌炎浚” “怎么了愤钾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)候醒。 經(jīng)常有香客問(wèn)我能颁,道長(zhǎng),這世上最難降的妖魔是什么火焰? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任劲装,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘占业。我一直安慰自己绒怨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布谦疾。 她就那樣靜靜地躺著南蹂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪念恍。 梳的紋絲不亂的頭發(fā)上六剥,一...
    開(kāi)封第一講書(shū)人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音峰伙,去河邊找鬼疗疟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛瞳氓,可吹牛的內(nèi)容都是我干的策彤。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼匣摘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼店诗!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起音榜,我...
    開(kāi)封第一講書(shū)人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤庞瘸,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后赠叼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體擦囊,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年梅割,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了霜第。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡户辞,死狀恐怖泌类,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情底燎,我是刑警寧澤刃榨,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站双仍,受9級(jí)特大地震影響枢希,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜朱沃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一苞轿、第九天 我趴在偏房一處隱蔽的房頂上張望茅诱。 院中可真熱鬧,春花似錦搬卒、人聲如沸瑟俭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)摆寄。三九已至,卻和暖如春坯门,著一層夾襖步出監(jiān)牢的瞬間微饥,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工古戴, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留欠橘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓允瞧,卻偏偏與公主長(zhǎng)得像简软,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子述暂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

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