**位址如下:1.livephoto簡介
2.livephoto的本質
3.涉及到的技術
4.實現livephoto製作工具
/**
@param currenttime 某一時刻單位 s
@return return 返回image
*/- (uiimage *)getvideoimagewithtime:(float64)currenttime videopath:(nsurl *)path
3)將處理後的jpg 與 mov一同儲存生成livephoto
首先引入#import 框架,呼叫performchanges方法儲存,具體**如下
+ (void)writelivephotowithvideo:(nsurl *)videopath image:(nsurl *)imagepath result:(void(^)(bool res))result completionhandler:^(bool success, nserror * _nullable error)
if (result)
}];}
自此乙個簡單的livephoto製作工具完成。但是為了使用者體驗,我們還要進行素材選取途徑拓寬。
4)拓寬素材選取的途徑
a.從相簿選取素材
從相簿選取素材,這裡使用了uiimagepickercontroller來處理,具體**如下:
- (void)choosevideofromphotolibraryresult:(resultblock)result
// uiimagepickercontroller 的選擇結果的**方法。
- (void)imagepickercontroller:(uiimagepickercontroller *)picker didfinishpickingmediawithinfo:(nsdictionary*)info }}
我們在專案工程下file-->new-->target-->share extension-->nest 建立乙個share extension如下圖:
這篇文章詳細解讀了share extension,如有需要可以先看一下
__weak typeof (self) ws = self;
[self.extensioncontext.inputitems enumerateobjectsusingblock:^(n***tensionitem * _nonnull obj, nsuinteger idx, bool * _nonnull stop) );
nslog(@"存入成功!!!");}}
}];*stop = yes;
}}];
*stop = yes;
}];
- (ibaction)handlevideo:(uibutton *)sender
responder = [responder nextresponder];}}
5.專案檔案截圖
6.注意點
ios製作乙個速度表盤
我們首先看一下這個速度表盤的效果 速度表盤 為了實現上述的效果,我們首當其衝的是得了解的是貝塞爾曲線,聽上去好高大上的樣子,接下來我先就我了解貝塞爾曲線的知識給未接觸的朋友普及一下。b zier curve 貝塞爾曲線 是應用於二維圖形應用程式的數學曲線.主要有起始點 終止點 也稱錨點 控制點這幾個...
IOS開發 我的第乙個IOS程式
學完前面的objc基礎,那麼接下來我可以開始我的ios開發之旅了 1.首先開啟xcode建立乙個工程 3.在專案檔案區選擇viewcontroller.xib檔案 再選擇子螢幕object下的view,這樣就能開啟我們的iphone的窗體介面 4.接著在xcode主介面右下方拉入label butt...
培養iOS開發新人的乙個思路
堅持兩個方 1 發現問題的方法 熟悉 的過程 1 照著乙個完整的工程,從最基本的頁面開始做起。不懂的地方就問,就查。2 在閱讀 或拿到需求後要學會對問題進行分解。乙個陌生的問題如果不能被分解,那麼它也很難被解決。3 根據分解出來的小任務,使用方法2進行解決。2 解決問題的方法 1 發現問題 一般是x...