三步爲你的App集成LivePhoto功能

  • 摘要:LivePhoto是iOS9新推出的一種拍照方式,相似於拍攝Gif圖或錄製視頻片斷生成圖片。若是沒有畫面感,能夠聯想《哈利波特》霍格沃茨城堡的壁畫,哈哈,很炫酷有木有,但坑爹的是隻有iphone6S以上機型纔可使用LivePhoto拍照,6S如下機型暫只可查看。效果以下:LivePhoto效果圖具體如何使用可參照以下網址,本文主要在代碼角度幫助你們爲本身的App添加展現LivePhoto圖片的功能。蘋果LivePhoto怎麼拍,LivePhotos怎麼使用第一步,打開系統相
  • LivePhoto是iOS9新推出的一種拍照方式,相似於拍攝Gif圖或錄製視頻片斷生成圖片。若是沒有畫面感,能夠聯想《哈利波特》霍格沃茨城堡的壁畫,哈哈,很炫酷有木有,但坑爹的是隻有iphone6S以上機型纔可使用LivePhoto拍照,6S如下機型暫只可查看。效果以下:html


    三步爲你的App集成LivePhoto功能_IOS
    LivePhoto效果圖 


    具體如何使用可參照以下網址,本文主要在代碼角度幫助你們爲本身的App添加展現LivePhoto圖片的功能。
    蘋果 Live Photo 怎麼拍, Live Photos怎麼使用框架


    第一步,打開系統相冊 

    咱們須要建立UIImagePickerController對象,設置對應來源類型,代理等,這裏須要注意要額外設置mediaTypes(媒體類型),以支持加載LivePhoto類型圖片。還有爲了適配iOS10,不要忘記在info.plist中設置隱私權限Privacy - Photo Library Usage Descriptioniphone


    UIImagePickerController *ipc = [[UIImagePickerController alloc]init]; 
    ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    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]; 

    對應的中止動畫的方法爲htm


    [photoView stopPlayback]; 

    是否是So easy?
    參考連接:How to display Live Photos in a view controller對象


    demo下載連接 

    三步爲你的App集成LivePhoto功能demoblog

  • 以上是三步爲你的App集成LivePhoto功能的內容,更多 LivePhoto 集成 功能 APP 的內容,請您使用右上方搜索功能獲取相關信息。
相關文章
相關標籤/搜索