三步為你的App整合LivePhoto功能
- 摘要:LivePhoto是iOS9新推出的一種拍照方式,類似於拍攝Gif圖或錄製視訊片段生成圖片。如果沒有畫面感,可以聯想《哈利波特》霍格沃茨城堡的壁畫,哈哈,很炫酷有木有,但坑爹的是隻有iphone6S以上機型才可以使用LivePhoto拍照,6S以下機型暫只可檢視。效果如下:LivePhoto效果圖具體如何使用可參照如下網址,本文主要在程式碼角度幫助大家為自己的App新增展示LivePhoto圖片的功能。蘋果LivePhoto怎麼拍,LivePhotos怎麼使用第一步,開啟系統相
-
LivePhoto是iOS9新推出的一種拍照方式,類似於拍攝Gif圖或錄製視訊片段生成圖片。如果沒有畫面感,可以聯想《哈利波特》霍格沃茨城堡的壁畫,哈哈,很炫酷有木有,但坑爹的是隻有iphone6S以上機型才可以使用LivePhoto拍照,6S以下機型暫只可檢視。效果如下:
LivePhoto效果圖
具體如何使用可參照如下網址,本文主要在程式碼角度幫助大家為自己的App新增展示LivePhoto圖片的功能。
蘋果 Live Photo 怎麼拍, Live Photos怎麼使用
第一步,開啟系統相簿我們需要建立UIImagePickerController物件,設定對應來源型別,代理等,這裡需要注意要額外設定mediaTypes(媒體型別),以支援載入LivePhoto型別圖片。還有為了適配iOS10,不要忘記在info.plist中設定隱私許可權Privacy - Photo Library Usage Description
UIImagePickerController *ipc = [[UIImagePickerController alloc]init];
ipc.delegate = self;
// 設定mediaTypes 新增LivePhoto型別圖片
NSArray *mediaTypes = @[(NSString *)kUTTypeImage, (NSString *)kUTTypeLivePhoto];
ipc.mediaTypes = mediaTypes;
[self presentViewController:ipc animated:YES completion:^{
}];若發現kUTTypeImage型別報錯,不要忘記新增MobileCoreServices框架
第二步,獲取相簿中LivePhoto圖片對圖片型別進行判斷,如果為普通圖片,使用UIImageView載入即可,若為LivePhoto型別,使用PHPhotoLiveView進行顯示。這裡需要新增Photos與PhotosUI框架,分別用於對LivePhoto的判斷與顯示。具體程式碼如下:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info {
[self dismissViewControllerAnimated:YES completion:^{
PHLivePhoto *photo = [info objectForKey:UIImagePickerControllerLivePhoto];
if (photo) {
PHLivePhotoView *photoView = [[PHLivePhotoView alloc]initWithFrame:self.view.bounds];
photoView.livePhoto = [info objectForKey:UIImagePickerControllerLivePhoto];
photoView.contentMode = UIViewContentModeScaleAspectFill;
[self.view addSubview:photoView];
} else {
NSLog(@"普通圖片,使用UIImageView載入即可");
}
}];
}
第三步,讓圖片動起來PhotosUI框架為我們提供了兩種LivePhoto的動態效果,一種為持續數秒,第二種為全部迴圈展示。
可通過如下方法進行呼叫
//效果1
[photoView startPlaybackWithStyle:PHLivePhotoViewPlaybackStyleHint];
//效果2
[photoView startPlaybackWithStyle:PHLivePhotoViewPlaybackStyleFull];對應的停止動畫的方法為
[photoView stopPlayback];是不是So easy?
參考連結:How to display Live Photos in a view controller
demo下載連結三步為你的App整合LivePhoto功能demo
- 以上是三步為你的App整合LivePhoto功能的內容,更多LivePhoto整合功能APP的內容,請您使用右上方搜尋功能獲取相關資訊。
轉載於:https://my.oschina.net/huqiji/blog/1832693