借助TZImagePickerController三方库理解自定义相册
借助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里边的逻辑实现,重要的实现取照片以及取相册,对相册的过滤等等,这些东西我们需要看源码具体怎么实现!
借助TZImagePickerController三方库理解自定义相册的更多相关文章
- iOS:iOS开发非常全的三方库、插件等等
iOS开发非常全的三方库.插件等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自git ...
- 2018 6年iOS开发常用的三方库
开发一般APP必备三方库,省力秘籍!!!本篇文章会经常更新最新常用的三方. 1.网络请求库 AFNetworking https://github.com/AFNetworking/AFNetwork ...
- iOS----------常用三方库
1.笔者常用三方库 名称 作用 说明 <small>AFNetworking <small>基于HTTP/HTTPS 联网请求 <small> <small& ...
- .Net 常用插件及第三方库
.Net 常用插件及第三方库 一:第三方插件 1:基于响应式编程思想的oc 地址:https://github.com/ReactiveCocoa/ReactiveCocoa 2:hud提示框 地址: ...
- iOS--app自定义相册--创建相簿,存储图片到手机
我们在APP中点击照片,都会显示出大图,然后在大图的上面会有个保存照片的按钮,照片直接保存到了系统的相册中,但是因为公司产品的需要,让你创建和APP同名的相册保存在里面,那么就对了,可以看下具体的代码 ...
- iOS分段选择器、旅行App、标度尺、对对碰小游戏、自定义相册等源码
iOS精选源码 企业级开源项目,模仿艺龙旅行App 标签选择器--LeeTagView CSSegmentedControl常用的分段选择器,简单易用! 仿微信左滑删除 IOS左滑返回 输入框 iOS ...
- iOS - .a静态库的打包(包括打包的文件中用到了一些别人的三方库和分类的处理)
一.概念篇 什么是库? 库是程序代码的集合,是共享程序代码的一种方式 根据源代码的公开情况,库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetworking ...
- iOS中怎么存储照片到自定义相册
在市场上主流App中,大多数App都具有存储图片到自己App的相册中.苹果提供的方法只能存储图片到系统相册,下面讲一下怎么实现: 实现思路: 1.对系统相册进行操作的前提必须导入#import &l ...
- 网络请求三方库——OkHttp
我们知道在Android开发中是可以直接使用现成的API进行网络请求的,就是使用 HttpClient 和 HttpURLConnention ,而Android 4.4 之后 HttpClient ...
随机推荐
- 00_Python面试题_迭代更新
一.Python是什么类型的语言,以及和其他语言对比 1.Python是一种解释性语言,他和C语言以及C衍生的语言不通,在Python运行之前不需要编译,其他解释语言还有Ruby.PHP. 2.Pyt ...
- selenium打开chrome浏览器代码
import os from selenium import webdriver chromedriver = "C:\Program Files (x86)\Google\Chrome\A ...
- bzoj 4815: [Cqoi2017]小Q的表格 [数论]
4815: [Cqoi2017]小Q的表格 题意: 单点修改,查询前缀正方形和.修改后要求满足条件f(a,b)=f(b,a), b×f(a,a+b)=(a+b)*f(a,b) 一开始sb了认为一次只会 ...
- BZOJ 3994: [SDOI2015]约数个数和 [莫比乌斯反演 转化]
2015 题意:\(d(i)\)为i的约数个数,求\(\sum\limits_{i=1}^n \sum\limits_{j=1}^m d(ij)\) \(ij\)都爆int了.... 一开始想容斥一下 ...
- BZOJ 4318: OSU! [DP 概率]
传送门 题意:变成了告诉每个操作的成功概率,并且得分是三次方 一样....分别维护$x,\ x^2,\ x^3$的期望就行了 注意$x^3$是我们最终求的得分,即使失败得分也要累加上之前的 #incl ...
- COGS 2479. [HZOI 2016]偏序 [CDQ分治套CDQ分治 四维偏序]
传送门 给定一个有n个元素的序列,元素编号为1~n,每个元素有三个属性a,b,c,求序列中满足i<j且ai<aj且bi<bj且ci<cj的数对(i,j)的个数. 对于100%的 ...
- Xcode的SVN提示"The request timed out."的解决方案
问题描述 在利用Xcode的SourceControl进行SVN代码检出时,确认输入地址.帐号密码都正确的情况下,总是提示"The request timed out.".该问题的 ...
- php 数组变成树状型结构
<? php $stime = microtime(true); $nodes = [ ['id' = > 1, 'pid' = > 0, 'name' = > 'a'], [ ...
- WPF字典集合类ObservableDictionary
WPF最核心的技术优势之一就是数据绑定.数据绑定,可以通过对数据的操作来更新界面. 数据绑定最经常用到的是ObservableCollection<T> 和 Dictionary<T ...
- 爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider)
爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider),这之间的斗争恢宏壮阔... Day 1小莫想要某站上所有的电影,写了标准的爬虫(基于HttpCli ...