仿微信錄音控制元件Demo

hi_xgb發表於2016-12-10

仿微信錄音控制元件Demo

最近專案裡用到了類似微信的錄音控制元件,我把裡面和業務邏輯無關的檢視部分的程式碼抽出來做了個 Demo,有類似需求的可以參考下,希望對你有用~

功能和微信高度類似,主要有,

  1. 上滑取消
  2. 最後10s展示倒數計時
  3. 錄製時長太小時展示 Toast

最終效果如下圖所示

仿微信錄音控制元件Demo

仿微信錄音控制元件Demo

實現思路就是維護各種狀態,然後重新整理對應狀態的 UI,比較有意思的是音量動畫的實現,用了一個 ShapeLayer 作為 mask 來做動畫,具體實現可以看 BBVoiceRecordPowerAnimationView 這個類。 mask 主要就是用來裁剪檢視,比較類似 PS 裡的圖層蒙版,mask 再配合 UIBezierPath 就能裁剪出任意形狀的檢視了,後面有機會再詳細說明下。

程式碼放到 GitHub 上了,地址在這兒。感興趣的可以下下來執行看看效果,實現不是很優雅:)有任何問題都可以給我留言,enjoy~


最後做個推廣,歡迎關注公眾號 MrPeakTech,我從這裡學到很多,推薦給大家,共同進步~

仿微信錄音控制元件Demo

相關文章