[html]view plain
copy
_scrollview
= [[uiscrollview alloc]initwithframe:cgrectmake(0,0, 320, 480)];
_scrollview.delegate
=self
; _scrollview.scrollenabled
=yes
; _scrollview.decelerationrate
= uiscrollviewdecelerationratenormal
; _scrollview.pagingenabled
=yes
; _scrollview.showsverticalscrollindicator=no
; _scrollview.showshorizontalscrollindicator=no
; _scrollview.backgroundcolor
= self
.view.backgroundcolor;
[_scrollview setcontentsize:cgsizemake(320*[_itemset count], 316)];
(大家注意到有乙個_itemset,這是乙個包含了資料的集合,可以是網路上的的位址,也可以是包含了封裝位址的物件的例項,總值不能是uiimage的例項,不然就是失去了封裝的意義了。)
[html]view plain
copy
[self.view addsubview:_scrollview];
[self configscrowviewwithindex:self.itemindex withforward:no withorigin:yes];
pageindex
= itemindex
;
將scrollview新增為當前試圖的子試圖之後,我們馬上 呼叫
[self
configscrowviewwithindex
:self
.itemindex
withforward:no
withorigin
:yes
]; 這是實現整個業務邏輯的關鍵方法,就是說去配置當前的索引應該執行的操作,第乙個引數是當前的索引,比如說0就代表我是從_itemset的第乙個元素對映的開始顯示;第二個引數是判斷當前是向前還是向後翻動相簿;第三個引數是表示當前是不是第一次顯示相簿。
將itemset的索引賦給頁數,這兩個成員一直是相等的,這樣只是為了區別的看待這兩個序數。
[html]view plain
copy
- (void)configscrowviewwithindex:(int)index withforward:(bool)isforward withorigin:(bool)isorigin
//當偏移量是0的話載入當前的索引的檢視和前後的檢視(如果存在的話)
if (isorigin)
wpcellimageview *nextview
= [self configitemwithindex:index+1];
if (nextview)
wpcellimageview *lastview
= [self configitemwithindex:index-1];
if(lastview)
} else
if ([_scrollview viewwithtag:nextviewtag])
} } //如果向後滑動的話,載入上一張試圖的前一張試圖,同時移除下一張試圖的後一張試圖
else
if ([_scrollview viewwithtag:lastviewtag])
} }
} }
這裡面還呼叫了乙個方法:- (wpcellimageview*)configitemwithindex:(int)index
[html]view plain
copy
if (index
<
0|| index
>
[_itemset count]-1)
wpwaterflowitem *dic
= [_itemset objectatindex:index];
wpcellimageview *firstview
= [[wpcellimageview alloc]initwithframe:cgrectmake(_scrollview.frame.size.width*index, 0, _scrollview.frame.size.width, _scrollview.frame.size.height) ];
[firstview seturl:dic.picurl];
return [firstview autorelease];
[html]view plain
copy
#pragma mark uiscrollview delegate
- (void)scrollviewdidscroll:(uiscrollview *)scrollview
else if(pageindex<
beforeindex
)
}
呵呵,很簡單吧,滑動超過半頁的時候就去載入和管理記憶體。
iOS 相簿 相機
由於部落格遷移至www.coderyi.com,文章請看 該框架下有幾個類,alassetslibrary,alassetsgroup,alasset,alassetsfilter,alassetrepresentation。alassetslibrary類可以實現檢視相簿列表,增加相簿,儲存到相簿...
ionic 相簿功能的實現
功能需求 輪播圖顯示已新增的所有相片 實現拖動排序功能 實現長按彈出刪除按鈕 實現輪播圖與縮圖同步 效果圖展示 使用的外掛程式 ngdraggable 如下 view title 編輯 align title center class bar dark class buttons class but...
iOS 呼叫系統相簿相機
actionsheet的方法在8.3之後就被取代了,下面介紹目前比較新的方法 1 info.plist檔案寫訪問授權 nsphotolibraryusagedescription 請求訪問相簿 nscamerausagedescription 請求訪問相機 2 這一步就不解釋了,當用到uiimage...