Swift 之 PhotoKit 初体验

作者: smalldu | 来源:发表于2016-04-28 14:28 被阅读1497次

github地址

1、PhotoKit是什么?

PhotoKit是苹果给我们提供的一个处理相册资源的库。以前使用AssetsLibrary 框架 , 相机应用和照片应用发生了显著的变化,增加了许多新特性,包括按时刻来组织照片的方式。但与此同时,AssetsLibrary 框架落伍了,iOS 8 开始苹果引入PhotoKit 。

2、本文示例

本文主要了解PhotoKit的基本使用,效果图:

项目配图

记得以前在简书也写过一篇有关相册的文章,当时用的AssetsLibrary 框架 也有一些问题,Swift中实现相册的多选 就是这篇,建议大家以后尽量使用PhotoKit进行相册管理。

上图点击完成,图片是以闭包的形式返回,闭包传入[PHAsset] 数组供使用,使用的时候还需要传入一个参数,最多选择照片个数,我这里传入的是4.

在vc中使用很简单就一句话。

self.zz_presentPhotoVC(4){ (assets) in
            print(assets.count)
        }   

本来是想讲解下PhotoKit的使用的,但其实自己对此框架没有很多的见解,大多数都是看官方文档还有一些优质的blog,我想说的其他的blog都讲的很详细了,直接直接放上连接,和自己练习的源码地址。供大家学习使用。

3、学习资源和代码

2016年4月29更新

模仿微信,将照片库中只能相册为0的cell去掉,所有分组合成一个section,并排序 ,优化页面显示 ,修改选中模式,添加预览模式(暂时还没做)
如图:

配图 手机截图

如果大于最大可选择数量,会左右摇摆提示。
后面完成预览功能会再来更新。
有什么好的建议也可以提出来
目前还有很多不完善的,会慢慢进行完善。

2016年5月3日更新

实现预览功能,基本可以使用了,有什么需求可以提提

配图

相关文章

  • Swift 之 PhotoKit 初体验

    github地址 1、PhotoKit是什么? PhotoKit是苹果给我们提供的一个处理相册资源的库。以前使用A...

  • Swift基本语法之函数

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本语法之循环 Swift...

  • Swift基本语法之数组和字典

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本语法之循环 Swift...

  • Swift基本语法之元组和可选类型

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本语法之循环 Swift...

  • Swift基本语法之闭包

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本语法之循环 Swift...

  • Swift基本语法之类的使用

    Swift中类的使用 Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本...

  • Swift基本语法之字符串

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 Swift基本语法之循环 字符串的介...

  • PhotoKit 初体验

    1.基类PHObject Photos 框架中的根类PHObject只有一个公开接口 localIdentifie...

  • Swift基本语法之循环

    Swift基本语法之初体验-常量变量-数据类型 Swift基本语法之逻辑分支 循环的介绍 在开发中经常会需要循环 ...

  • Swift备忘

    Swift初体验 Swift Tips Swift三种不同的【异常处理方式】 Swift 3.0 private变...

网友评论

  • Self_Time:我每次选择相册进入选择相册界面都会有10M的缓存 一直到内存警告崩溃 :sob:
  • 杨老师红烧肉:选择完了图片如何把图片展示在界面上哪?
  • Self_Time:我自己改了下语法错误,还是希望up主能持续更新下。很实用。然后图片加载到colllectionVIew之前最好将图片剪裁下在显示
    Self_Time:@大石头布 有的,我修改了,加了点功能现在和微信效果一样了。谢谢分享 :+1:
    smalldu:@perfictNice 有语法错误吗?我很早就更新到swift3了
  • Self_Time:代码很多语法错误,跪求更新啊
  • manajay:你好 我做分片上次视频的功能 , 使用 photokit 想获取视频的路径 ,但是发现URL 没用 不能用 fileHandler 获取文件数据, 那么, 有什么方法 可以做到吗, 比如localIdentifier是会动态改变的吗
  • sunlin1234:你这个demo 有么有想把他,选中的这些照片点击完成弄成那种像发说说发照片的那样,会不会更有意思呢
  • sunlin1234:可以把这个代码用swift3.0新语法修改一下么,现在xcode8打开项目以后尽是错误
    smalldu:@sunlin1234 已支持swift3 代码已提交github
  • 政揚:不好意思大哥,小弟又再次大扰,刚刚看了您的文章,以及您的文章内的其他文章连结,大概有了一些概念,但小弟无才,我自己百度了一下,关于要如何将选取的图片post或传送出去,一点概念都没有,请问是要将var assets:[PHAsset] = []这个集合,传送出去即可吗?谢谢您!若有造成您的不便,十分不好意思!
    政揚:@大石头布 好的太感谢您了,我现在试试看!感谢!
    smalldu:@caedb7516576 用PHCachingImageManager对象可以从单个PHAsset取出image
    smalldu:@caedb7516576 我写好的你直接调用就行了 传出来的是[PHAsset] 资源集合 你可以从里面取出图片
  • 万八量化:https://github.com/jkjk77/JKPhoto :flushed: 我也是用swift和photoKit写的
    万八量化:@大石头布 : :+1:棒 这个还没实现Twitter专辑到图片转场 正在完善中 卡顿应该是collectionView批量渲染图片的原因 后续要优化下 :smile:
    smalldu:@JK77 不错,不错你那个好像有点卡顿,应该没有缓存,可以看看我的,我也实现了预览功能,操作基本按照微信选择照片的操作
  • xida0325:首次安装 点击弹出框提示中的ok后 会崩溃 是什么原因呢
    xida0325:@大石头布 ok :grin:
    smalldu:@xidaMM 那个应该是要先判断访问照片的权限,github上我刚更新了代码,加了判断
  • 小凡凡520:楼主 咋不支持横竖屏预览呢
    smalldu:@小凡凡520 有时间会加上
    smalldu:@小凡凡520 目前项目还不需要,哈哈

本文标题:Swift 之 PhotoKit 初体验

本文链接:https://www.haomeiwen.com/subject/nukhrttx.html