OAHUD 因為看到很多 GitHub 上的專案都寫 HUD,這幾天再研究一種東西,一開始我還不知道怎去下關鍵字 Google,不過找著找著 漸漸有方向了!所以就找了一些範例,以及 Google 找資料亂寫亂測,然後有了一點點心得,就來分享一下,如果有觀念不正確請各位指教! 簡略講解一下,首先我看了 MBProgressHUD 的做法,其中的 show…

OAHUD

因為看到很多 GitHub 上的專案都寫 HUD,這幾天再研究一種東西,一開始我還不知道怎去下關鍵字 Google,不過找著找著 漸漸有方向了!所以就找了一些範例,以及 Google 找資料亂寫亂測,然後有了一點點心得,就來分享一下,如果有觀念不正確請各位指教!

簡略講解一下,首先我看了 MBProgressHUD 的做法,其中的 showHUDAddedTo:(UIView *)view 讓我也模仿著做,於是我做了一個類似的 show,然後加在該 view 之下,一開始還做得很開心,不過當我用 TabBarController、NavigationController 時發現,只有中間的 view 區段被覆蓋,當中的 NavBar 跟 TabBar 都沒有被覆蓋到..於是我只好換個方向。

OAHUD 動畫 Demo

接著我 Google 到了這篇文章 http://nobodyyu.github.io/2015/05/04/make-HUD-by-your-self/,我於似乎看到了關鍵字 window,所以接著開始研究 UIWindow,接著開始使用 UIWindow 然後加入 ViewController 實驗!

當中當然一直失敗啊,直到我看到了 DaiInboxHUD 這個資源,恩..很多看不懂XD,不過今天下午還是抽空把它嗑了!因為這包 Code 我看到了很多用法,其中像是 objc/runtime.h、objc_setAssociatedObject、objc_getAssociatedObject 雖然我還沒有很熟,所以有使用錯誤的話請跟我說..裡面像是彈出的動畫,也參考了它!

預設的 OAHUD 樣式

原本我打算找尋是否有像 css 中的 transition 搭配 cubic-bezier 的方法,但是一直沒找到..所以跳出的效果,所以我就暫時的學別人的方法使用大量的 animateWithDuration 以及 CGAffineTransformScale,不過看到這樣的寫法,讓我不禁回想起 jQuery 的 animate 搭配 callback 一起使用XD

多樣的樣式設定

不過使用起來沒有想像中的頓,於是先這樣使用啦!中間旋轉的部分是使用兩張 view,第一層的 view 加上 CAGradientLayer 的彩色圖層以及 CABasicAnimation 來達到選轉效果,然後第二層的 view 使用與底層一樣的顏色,並且縮小一點點將第一層蓋住,這樣就可以做出類似旋轉的彩色圈圈!

相關參考

CocoaPods 筆記 - OA Wu's Blog
CocoaPods 筆記
CocoaPods 筆記CocoaPods 筆記 每次都會忘記,因為開發 iOS App 有時候都會用到 CocoaPods 安裝相關套件,所以筆記一下! 參考 https://cocoapods.org/ 指令 sudo gem install cocoapods 版本 pod --version 初始 pod init 安裝 AlamofireObjectMapper 在專案下 Podfile 加入 pod 'AlamofireObjectMapper', '~ 5.0' 執行 pod install,第…
CatMap - OA Wu's Blog
CatMap
CatMapCatMap 此作是我第一個比較完整的 iOS 的 App,主要利用基本的 iOS 元件製作照相上傳、分享、地圖功能,以下是我一些學習的筆記與心得! App 沒什麼主要方向,這就只是個到處模仿的小作品,一開始利用了 TableView,再經由客製化的 TableViewCell 去做出類似 Instagram、Facebook 的動態訊息頁,然後再利用 ImagePickerCon…
天氣地圖 Weather Maps - OA Wu's Blog
天氣地圖 Weather Maps
天氣地圖 Weather Maps天氣地圖 Weather Maps 這項做主要是藉由中央氣象局的網站資料建置出來的,其中主要功能是可以藉由 Google Maps 查詢各地方的天氣預報概況,並且可以查看各個地區的每小時溫度變化,以及搭配使用 localStorage 來實作前端關注的功能。此作品主要利用 PHP 取得資料,並且編譯成 HTML 檔案上傳 Amazon S3,此架構不僅可以減…
PHP 實作 ElasticSearch PDO 物件 - OA Wu's Blog
PHP 實作 ElasticSearch PDO 物件
PHP 實作 ElasticSearch PDO 物件PHP 實作 ElasticSearch PDO 物件 這是一套 ElasticSearch 基本 Create、Read、Update、Delete(CRUD) 的使用工具,其工具主要目的就是將資料撈出來並且物件化,架構於 Elastic Library,將讀取出來的資料物件化,以及包裝成方便開發的工具。 主要功能是經由各種 類別方法(static),對 ElasticSearch 實作 新增、查詢、修改…
吳政賢 個人簡歷 OA Wu LiveCoding.tw