花名册动画

一、效果图

效果图

二、使用方法

花名册动画_第1张图片
使用方法

三、文件类说明

【XZPhotoModel】照片模型类:解析数据

【roster.plist】花名册文件:存储本地数据

【XZRosterView】花名册视图:组装简介视图、照片流视图

【XZBiographyView】简介视图:控制基本信息展示。

【XZBiographyCell】简介视图Cell:展示基本信息

【XZPhotoFlowView】照片流视图:控制照片视图展示、操作

【XZPhotoView】照片视图:展示照片

花名册动画_第2张图片
文件类

四、简介视图(XZBiographyView)

1、内置UICollectionView,禁止手动滑动

2、当照片流视图(XZPhotoFlowView)中,照片滑动停止时,根据照片位置更新偏移量。

- (void)setCurrentIndex:(NSInteger)currentIndex {

if (_currentIndex == currentIndex) return;

//滑动到显示位置

[self.bgCollectionView setContentOffset:CGPointMake(0.0, currentIndex*self.frame.size.height) animated:YES];

_currentIndex = currentIndex;

}

五、照片流视图(XZPhotoFlowView)实现原理

1、scrollView作为背景视图,控制滑动操作

2、取照片视图(XZPhotoView):复用池中有就直接取出;否则创建新的,并添加到使用池

3、scrollView滚动时

a、计算展示的首图(显示的照片中,左数第一张)位置

b、scrollView滑动“一张首图宽度+交错宽度(2张照片重叠宽度)”,首图移动等比宽度,其余照片视图只移动交错宽度

c、更新照片视图的位置、缩放比例、透明度

d、新的照片视图依然按步骤“2、”方式取出,展示

e、滑出屏幕的照片视图,移出使用池,添加到复用池

4、重写scrollView将要停到的位置代理方法,实现"图片视图"按张停留

花名册动画_第3张图片
实现"图片视图"按张停留

5、scrollView停止减速,block回调方式通知简介视图(XZBiographyView),更新信息。

六、源码地址

花名册动画源码

你可能感兴趣的:(花名册动画)