借助TZImagePickerController三方库理解自定义相册

1.整体架构分析 
整体框架大致可以分为几个部分 
<1>工具类-TZImageManager:这个类主要是工作是提供一些获取的方法,包括:获取相册、获取Asset数组,获取照片、获取视频、保存照片、获得一组照片的大小 
<2>自定义继承于NavigationCotroller的ImagePicker(类似于系统的UIImagePickerController)-TZImagePickerController:由于有些工作需要处理,系统的那个都是自己定义好的所以必须得自定义一个ImagePickerController,这个类有累死于Navigation的作用,除了设置外观以外,他还有自己的作用,比如初始化一个TZImagePickerController(初始化有多种方式带预览的和不带预览的),在这初始化其实也就是初始化自定义的TZAlbumPickerController下面介绍个类的一些作用 
<3>相册展示类-TZAlbumPickerController:这个类是在TZImagePickerController初始化的时候初始化的,这个类的主要作用就是展示相册,通过Manager获取相片以及相片的名称在这个类的tableView里展示(当然这个是自己定义的tableViewCell),通过TableView的代理方法进入照片或者视频展示,即是TZPhotoPickerController这个类,下面介绍这个类 
<4>相片或者视频展示类TZPhotoPickerController-这个类的主要作用是展示照片,当然这个界面是通过我们自定义的collectionViewcell实现的,这样这个界面就是有我们自己随便设计,可以实现多选等等功能 
<5>图片预览类TZPhotoPreviewController-这个类及实现了图片预览的功能 
<6>视频播放类TZVideoPlayerController:这个类主要实现了视频播放 
其实我们了解了作者的一个基本机构这个三方库一个思路对于理解这个三方库是一个很大的帮助,当然我认为理解这个架构更主要的还是对自己的一个提升 
2.谈谈我对这个三方库的基本理解 
这个三方库其实最主要的实现还是在TZImageManager里边的逻辑实现,重要的实现取照片以及取相册,对相册的过滤等等,这些东西我们需要看源码具体怎么实现!

最新文章

  1. python 小试题
  2. [20160731]read a file and print it on the screen
  3. android studio新项目时提示:Plugin is too old, please update to a more recent version
  4. 为什么 1KB = 1024Byte???群里讨论。
  5. js问题总结
  6. JavaScript 中 typeof 知多少?
  7. Asp.Net底层解析
  8. C语言常用数学函数及其用法
  9. 基于redis的cas集群配置(转)
  10. JavaScript字符和数组一些基本算法题
  11. Ubuntu安装Anaconda3
  12. Entity Framework入门教程:什么是Entity Framework
  13. Python爬虫通过替换http request header来欺骗浏览器实现登录
  14. CentOS配置SSH免密登录
  15. Git:fatal: refusing to merge unrelated histories
  16. Docker下安装Jenkins
  17. 防范 SQL 注入攻击
  18. win10优化开机进程
  19. 《转》Pragma: no-cache 对性能的影响
  20. 用户人品预测大赛--getmax队--竞赛分享

热门文章

  1. Docker最佳实践-部署LNMP环境
  2. 关于fprint()和fwrite()
  3. JAVA List根据字段排序以及取前几条数据
  4. js 面向对象 继承
  5. 让44.1版本的sketch打开更高版本的sketch文件
  6. 《深入理解Java虚拟机》学习笔记(二)
  7. [Sdoi2017]数字表格 [莫比乌斯反演]
  8. BZOJ 1042: [HAOI2008]硬币购物 [容斥原理]
  9. IT连创业系列:年终回顾录!
  10. SDN期末作业