SwiftCafe 快报 - Live Photos

Live Photo

Live Photos 是 iOS 9 的一个新特性,它提供相对于传统照片更生动的展现方式。当用户按下拍照键
的时候,照片 APP 会捕捉比传统照片更多的内容,包括声音和更多的帧。当用户浏览这些照片时,他们能与这些照片交互并且回放那些被捕捉的内容,这样让照片看起来更加生动。

iOS 9.1 提供了与 Live Photos 交互的 API,还可以将这些数据导出,用作分享。新提供的 Photos framework 可以从 PHImageManager 对象中取得 PHLivePhoto 的实例。这个对象可以用来表示 Live Photo 中的数据。你可以使用 PHLivePhotoView 对象来现实 Live Photo 的内容。PHLivePhotoView 用于展示图片,处理用户交互,还有对内容显示的处理。

你还可以使用 PHAssetResource 来访问 PHLivePhoto 来进行共享操作。你可以使用 PHImageManagerUIImagePickerController 来从用户的照片库中请求 PHLivePhoto 对象。如果你还在开发一个 Extension,你还可以使用 NSItemProvider 对象来获取 PHLivePhoto 对象。在接受共享的一方,你可以通过发送过来的文件,来重建 PHLivePhoto 对象。

Live Photo 的显示规范

你要记住 Live Photo 依然是 Photo。如果你要把 Live Photo 显示在不支持 PHLivePhotoView 的环境中,那么推荐你按照普通照片的方式来展现它。

不要将 Live Photo 的额外帧和音频分开来显示。用一致的方式显示 Live Photo 并且让他们在所有的 APP 种都以相同的方式展现和交互非常重要。

推荐你使用 PHLivePhotoView 类提供的 livePhotoBadgeImageWithOptions: 方法提供的角标来对 Live Photo 进行标识。

Live Photo 的分享规范

Live Photo 的数据被导出成一系列文件存放在 PHAssetResource 对象中。当你将它们上传到服务器的时候,这些文件必须以一个整体单元的形式上传。当你需要在接收方重新构建 PHLivePhoto 对象的时候,这些文件将要被验证。

如果你的应用允许用户在上传前对照片进行一些特效处理,那么这些特效也必须应用到 Live Photo 的所有帧上。如果你不支持将调整应用到整个 Live Photo 上,就将它作为普通照片来分享,并告知用户。

如果你的应用提供了选择并分享照片的 UI 界面,你应该能让用户预览整个 Live Photo 的所有内容,这样用户能够知道他们分享出去的内容是什么。当用户在你的应用中选择了照片后,用户应该还可以把 Live Photo 关闭掉,这样他们就可以将这些照片以传统的方式发送出去。

更多精彩内容可关注微信公众号:
swift-cafe

更多精彩内容,请扫码关注微信公众号

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 父类:UIView 一个PHLivePhotoView对象是一个展示一个Live Photo的视图。 一、概述 获...
    Shmily落墨阅读 3,174评论 0 8
  • 2. 交互(Interaction) 2.1 3D 触摸(3D Touch) 2.1.1 主屏幕交互(Home S...
    Kemr阅读 499评论 0 1
  • 在我从小的生活环境里,并没有接触到很好的理财教育,这也许是我们的文化环境影响所致,但是,金钱观念是我们通往...
    犹巴阅读 310评论 3 4
  • 爱上在黑夜里思考的孩子 大体会是孤海里的旅人 驾一艘小船 摇荡摇荡 去往未知的世界 探索心头的向往 不着慌 不着忙...
    木筱茜阅读 214评论 2 2
  • 今晚想到社会才是一所真正的大学这句话,这句话是我哥哥再很久以前说到过得一句话。 为什么说社会才是一所真正的大学...
    不负我生阅读 4,577评论 1 0

友情链接更多精彩内容