午餐選擇器 App Part I 之利用 viewDidLoad 客製 App 畫面

午餐吃什麼?這是廣大上班族們萬年不變的微煩惱…
這次結合了 controller、viewDidLoad、IBOutlet、IBAction…等多種新手技能,孵化出這款午餐選擇器 App,為所有選擇障礙的族人們解決這道亙古難題。

Part I 篇先利用 viewDidLoad 客製 App 畫面和自訂 controller 類別,下回再來分曉 Part II 篇使用 IBOutlet、IBAction & 亂數創作有趣的 App,未完待續…

作品展示

在 viewDidLoad 裡撰寫程式,利用畫面載入完成之際加入有趣的功能,如背景音樂 (可惜 gif 無法展現美妙的音樂)、背景漸層、圖案繪製、圖案動畫、下雪粒子效果等等。

在 viewDidLoad 裡寫程式加入有趣功能

專案中自訂了 HomeViewController 和 LunchViewController 2 個 controller 類別,分別對應了首頁及午餐選擇頁 2 個 App 畫面。

自訂 HomeViewController 和 LunchViewController 類別

實作重點

  • 利用 CAGradientLayer 製作紅藍黃 3 層式的漸層效果,並套用在首頁 controller 的整個 view 上做為背景。
  • 定義 function 運用 UIBezierPath 在畫面上繪製湯匙及飯碗圖案,並在 viewDidLoad 裡多次呼叫定義好的 function,以便輕鬆生出多個飯碗或湯匙,再依喜好個別調整新生圖案的縮放、位移和旋轉狀態。
  • 利用 CABasicAnimation & CAShapeLayer 創造特定圖層上下擺盪的動畫效果 function,再以呼叫 function 的方式使湯匙圖案依照 function 所訂參數上下擺動。
  • 運用 CAEmitterLayer 製作大頭 Icon 如雪片般紛飛的動畫效果,並利用 CAEmitterCell 來自訂紛飛粒子的數量、速度、旋轉等狀態,甚至是使用自選圖案來更換粒子的圖形。
  • 使用 AVPlayer 播放神隱少女片尾曲做為背景音樂。此處須先將音樂檔 mp3 拖曳到專案的 Project navigator 裡,才能讓 AVPlayer 順利找到音樂來源。
    值得注意的是 AVPlayer 物件是被提出到 viewDidLoad 之外宣告的,這是因為物件若是放在 viewDidLoad 裡產生,則會在 viewDidLoad 執行完後被硬生生地結束生命,連播出的機會都沒有。

--

--