Live Photos 是 iOS 9 的一個新特性,它提供相對于傳統(tǒng)照片更生動的展現(xiàn)方式赏淌。當(dāng)用戶按下拍照鍵
的時候踩寇,照片 APP 會捕捉比傳統(tǒng)照片更多的內(nèi)容,包括聲音和更多的幀六水。當(dāng)用戶瀏覽這些照片時俺孙,他們能與這些照片交互并且回放那些被捕捉的內(nèi)容,這樣讓照片看起來更加生動掷贾。
iOS 9.1 提供了與 Live Photos 交互的 API睛榄,還可以將這些數(shù)據(jù)導(dǎo)出,用作分享想帅。新提供的 Photos framework 可以從 PHImageManager
對象中取得 PHLivePhoto
的實例懈费。這個對象可以用來表示 Live Photo 中的數(shù)據(jù)。你可以使用 PHLivePhotoView
對象來現(xiàn)實 Live Photo 的內(nèi)容博脑。PHLivePhotoView
用于展示圖片憎乙,處理用戶交互票罐,還有對內(nèi)容顯示的處理。
你還可以使用 PHAssetResource
來訪問 PHLivePhoto
來進(jìn)行共享操作泞边。你可以使用 PHImageManager
或 UIImagePickerController
來從用戶的照片庫中請求 PHLivePhoto
對象该押。如果你還在開發(fā)一個 Extension,你還可以使用 NSItemProvider
對象來獲取 PHLivePhoto
對象阵谚。在接受共享的一方蚕礼,你可以通過發(fā)送過來的文件,來重建 PHLivePhoto
對象梢什。
Live Photo 的顯示規(guī)范
你要記住 Live Photo 依然是 Photo奠蹬。如果你要把 Live Photo 顯示在不支持 PHLivePhotoView
的環(huán)境中,那么推薦你按照普通照片的方式來展現(xiàn)它嗡午。
不要將 Live Photo 的額外幀和音頻分開來顯示囤躁。用一致的方式顯示 Live Photo 并且讓他們在所有的 APP 種都以相同的方式展現(xiàn)和交互非常重要。
推薦你使用 PHLivePhotoView
類提供的 livePhotoBadgeImageWithOptions:
方法提供的角標(biāo)來對 Live Photo 進(jìn)行標(biāo)識荔睹。
Live Photo 的分享規(guī)范
Live Photo 的數(shù)據(jù)被導(dǎo)出成一系列文件存放在 PHAssetResource
對象中狸演。當(dāng)你將它們上傳到服務(wù)器的時候,這些文件必須以一個整體單元的形式上傳僻他。當(dāng)你需要在接收方重新構(gòu)建 PHLivePhoto
對象的時候宵距,這些文件將要被驗證。
如果你的應(yīng)用允許用戶在上傳前對照片進(jìn)行一些特效處理吨拗,那么這些特效也必須應(yīng)用到 Live Photo 的所有幀上满哪。如果你不支持將調(diào)整應(yīng)用到整個 Live Photo 上,就將它作為普通照片來分享劝篷,并告知用戶哨鸭。
如果你的應(yīng)用提供了選擇并分享照片的 UI 界面,你應(yīng)該能讓用戶預(yù)覽整個 Live Photo 的所有內(nèi)容携龟,這樣用戶能夠知道他們分享出去的內(nèi)容是什么兔跌。當(dāng)用戶在你的應(yīng)用中選擇了照片后勘高,用戶應(yīng)該還可以把 Live Photo 關(guān)閉掉峡蟋,這樣他們就可以將這些照片以傳統(tǒng)的方式發(fā)送出去。
更多精彩內(nèi)容可關(guān)注微信公眾號:
swift-cafe
更多精彩內(nèi)容华望,請掃碼關(guān)注微信公眾號
![](http://swiftcafe.io/images/qrcode.jpg)