PhotosUI(PHLivePhotoView)

本文介绍如何使用Swift和Photos框架中的PHLivePhotoView组件来显示并播放Live Photo。包括选择要显示的照片、管理播放行为、响应播放事件及手动播放内容等关键步骤。

Photos(PHLivePhoto)

PhotosUI(PHLivePhotoView)


PHLivePhotoView用于显示用户的生活照片。

1 Choosing a Live Photo to Display

public var livePhoto: PHLivePhoto?

2 Managing Playback

/// 是否有声音
public var muted: Bool
/// 控制回放的手势
public var playbackGestureRecognizer: UIGestureRecognizer { get }

3 Responding to Playback Events

/// 开始播放生活照片
public func startPlaybackWithStyle(playbackStyle: PHLivePhotoViewPlaybackStyle)
/// 停止播放
public func stopPlayback()

4 Manually Playing Live Photo Content

/// 代理,监听播放开始和结束
weak public var delegate: PHLivePhotoViewDelegate?

5 Accessing User Interface Icons for Live Photos

/// 获取显示照片
///
/// - parameter badgeOptions : PHLivePhotoBadgeOptions
///
/// - returns: UIImage
public class func livePhotoBadgeImageWithOptions(badgeOptions: PHLivePhotoBadgeOptions) -> UIImage

6 实战演示

下面演示了显示并播放生活照片的源代码

if self.asset.mediaSubtypes == PHAssetMediaSubtype.PhotoLive {
    let options = PHLivePhotoRequestOptions()
    options.deliveryMode = PHImageRequestOptionsDeliveryMode.HighQualityFormat
    options.networkAccessAllowed = true
    options.progressHandler = { (progress: Double, error: NSError?, stop: UnsafeMutablePointer<ObjCBool>, info: [NSObject : AnyObject]?) -> Void in
        print(progress)
    }
    PHImageManager.defaultManager().requestLivePhotoForAsset(self.asset, targetSize: self.targetSize(), contentMode: PHImageContentMode.AspectFit, options: options, resultHandler: { (livePhoto: PHLivePhoto?, info: [NSObject : AnyObject]?) -> Void in
        self.livePhotoView.livePhoto = livePhoto
        if let degradedKeyinfo = info?[PHImageResultIsDegradedKey] {
            if !degradedKeyinfo.boolValue && !self.playing {
                self.livePhotoView.startPlaybackWithStyle(PHLivePhotoViewPlaybackStyle.Hint)
            }
        }
    })
}

 


其他

源代码

Swift

参考资料

Photos Framework Reference

PHLivePhoto Class Reference

文档修改记录

时间描述
2016-01-07博文完成

版权所有

优快云:http://blog.youkuaiyun.com/y550918116j

GitHub:https://github.com/937447974/Blog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值