最近在恶补自己不足的基础知识,偶然在一个QQ群里看到作为同行业的大神们在开源自己的代码。并且在炫耀说让我们找Bug,于是出于好奇就看了下,点开了一个关于图片和视频播放的Demo。也就是接下来我要说的这个Demo。 至于为什么要写说一下这个Demo,是因为最近做的项目有涉及这方面 ...
最近在恶补自己不足的基础知识,偶然在一个QQ群里看到作为同行业的大神们在开源自己的代码。并且在炫耀说让我们找Bug,于是出于好奇就看了下,点开了一个关于图片和视频播放的Demo。也就是接下来我要说的这个Demo。
至于为什么要写说一下这个Demo,是因为最近做的项目有涉及这方面的知识。反正不管出于何种原因,多学点知识总没有错的。下面简单介绍下此Demo的功能。
功能:
支持哪些状态:
1.图片已发布(网络图片浏览、流水布局)
2.图片未发布(本地图片上传\发布\预览)
3.视频播放
支持哪些布局:
流水布局
、 线性布局
支持哪些手势:
单击
、双击
、捏合
、旋转
、拖拽
、侧滑
什么地方可以用到这个框架:
主要用于社交app,用于呈现一组图片或播放一些标准的MP4文件。
依赖哪些第三方框架:
PYPhotosView框架的主要类
PYPhotosView
@interface PYPhotosView : UIScrollView/** 代理 */@property (nonatomic, weak) id<PYPhotosViewDelegate> delegate;/** 网络图片相册 */@property (nonatomic, strong) NSArray *photos;/** 本地相册图片数组(默认最多为九张,当传入图片数组长度超过九张时,取前九张) */@property (nonatomic, strong) NSMutableArray *images;/** 视频链接(视频来自网络) **/@property (nonatomic, copy) NSString *movieNetworkUrl;/** 本地视频地址(带有文件类型后缀) */@property (nonatomic, copy) NSString *movieLocalUrl;/** 所有图片的状态(默认为已发布状态) */@property (nonatomic, assign) PYPhotosViewState photosState;/** 图片布局(默认为流水布局) */@property (nonatomic, assign) PYPhotosViewLayoutType layoutType;/** 图片分页指示类型(默认为pageControll。当图片超过九张,改为label显示) */@property (nonatomic, assign) PYPhotosViewPageType pageType;/** 图片间距(默认为5) */@property (nonatomic, assign) CGFloat photoMargin;/** 图片的宽 (默认为70) */@property (nonatomic, assign) CGFloat photoWidth;/** 图片的高 (默认为70) */@property (nonatomic, assign) CGFloat photoHeight;/** 每行最多个数(默认为3), 当图片布局为线性布局时,此设置失效 */@property (nonatomic, assign) NSInteger photosMaxCol;/** 当图片上传前,最多上传的张数,默认为9 */@property (nonatomic, assign) NSInteger imagesMaxCountWhenWillCompose;/** 快速创建photosView对象 */+ (instancetype)photosView;/** photos : 保存图片链接的数组 */+ (instancetype)photosViewWithPhotos:(NSArray *)photos;/** images : 存储本地图片的数组 */+ (instancetype)photosViewWithImages:(NSMutableArray *)images;/** * photos : 保存图片链接的数组 * type : 布局类型(默认为流水布局) */+ (instancetype)photosView:(NSArray *)photos layoutType:(PYPhotosViewLayoutType)type;/** * photos : 保存图片链接的数组 * maxCol : 每行最多显示图片的个数 */+ (instancetype)photosView:(NSArray *)photos photosMaxCol:(NSInteger)maxCol;/** 根据图片个数和图片状态自动计算出PYPhontosView的size */- (CGSize)sizeWithPhotoCount:(NSInteger)count photosState:(NSInteger)state;/** * 刷新图片(未发布) * images : 新的图片数组 */- (void)reloadDataWithImages:(NSMutableArray *)images;@end
原标题:用法简单的图片和视频播放的框架Demo
关键词:视频
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。