一唯笙、效果圖
二、使用方法
三茅坛、文件類說明
【XZPhotoModel】照片模型類:解析數(shù)據(jù)
【roster.plist】花名冊(cè)文件:存儲(chǔ)本地?cái)?shù)據(jù)
【XZRosterView】花名冊(cè)視圖:組裝簡(jiǎn)介視圖、照片流視圖
【XZBiographyView】簡(jiǎn)介視圖:控制基本信息展示琳袄。
【XZBiographyCell】簡(jiǎn)介視圖Cell:展示基本信息
【XZPhotoFlowView】照片流視圖:控制照片視圖展示、操作
【XZPhotoView】照片視圖:展示照片
四圣贸、簡(jiǎn)介視圖(XZBiographyView)
1挚歧、內(nèi)置UICollectionView,禁止手動(dòng)滑動(dòng)
2吁峻、當(dāng)照片流視圖(XZPhotoFlowView)中滑负,照片滑動(dòng)停止時(shí),根據(jù)照片位置更新偏移量用含。
- (void)setCurrentIndex:(NSInteger)currentIndex {
if (_currentIndex == currentIndex) return;
//滑動(dòng)到顯示位置
[self.bgCollectionView setContentOffset:CGPointMake(0.0, currentIndex*self.frame.size.height) animated:YES];
_currentIndex = currentIndex;
}
五矮慕、照片流視圖(XZPhotoFlowView)實(shí)現(xiàn)原理
1、scrollView作為背景視圖啄骇,控制滑動(dòng)操作
2痴鳄、取照片視圖(XZPhotoView):復(fù)用池中有就直接取出;否則創(chuàng)建新的缸夹,并添加到使用池
3痪寻、scrollView滾動(dòng)時(shí)
a、計(jì)算展示的首圖(顯示的照片中虽惭,左數(shù)第一張)位置
b橡类、scrollView滑動(dòng)“一張首圖寬度+交錯(cuò)寬度(2張照片重疊寬度)”,首圖移動(dòng)等比寬度芽唇,其余照片視圖只移動(dòng)交錯(cuò)寬度
c顾画、更新照片視圖的位置、縮放比例匆笤、透明度
d研侣、新的照片視圖依然按步驟“2、”方式取出炮捧,展示
e庶诡、滑出屏幕的照片視圖,移出使用池咆课,添加到復(fù)用池
4灌砖、重寫scrollView將要停到的位置代理方法,實(shí)現(xiàn)"圖片視圖"按張停留
5傀蚌、scrollView停止減速,block回調(diào)方式通知簡(jiǎn)介視圖(XZBiographyView)蘸吓,更新信息善炫。