您的位置:首页 > 产品设计 > UI/UE

PhotosUI(PHLivePhotoView)

2016-01-07 20:00 1341 查看
Photos(PHLivePhoto)

PhotosUI(PHLivePhotoView)

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

1 Choosing a Live Photo to Display

[code]public var livePhoto: PHLivePhoto?


2 Managing Playback

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


3 Responding to Playback Events

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


4 Manually Playing Live Photo Content

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


5 Accessing User Interface Icons for Live Photos

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


6 实战演示

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

[code]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博文完成

版权所有

CSDN:http://blog.csdn.net/y550918116j

GitHub:https://github.com/937447974/Blog
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: