2020-12-08|閱讀時間 ‧ 約 4 分鐘

選擇障礙的救星 — 轉轉器!!

    目的:

    1. Timer倒數計時。
    2. 熟練基本的 Swift 程式語法。
    3. 熟悉 iOS App 畫面的製作。
    4. 製作多頁面 App & 頁面間傳資料的能力。
    5. 使用 UIAlertController。
    6. 透過 present 顯示以下連結提到的某一種 controller。(不包含 UIAlertController)
    7. 加入通知提醒功能。
    8. 利用 CABasicAnimation 製作特別的動畫效果。
    amp-img-attr

    這次整整花了快一個禮拜,接下來來整理一下吧~

    1. Timer的使用:

    這次卡住的其中一個地方,我一直在找有沒有直接倒數的function,後來參考了其他人做的作業,才發現可以這樣做。

    首先timer function的使用,最後的參數block為每經過withTimeInterval的時間後,執行的動作,這裡的timer是新建立的Timer參數,可以代表本身方程式的參數,後面接invalidate可以讓方程式停止loop,直到下次使用到此function,這可以去搞懂closure的部分比較好理解。

    2.製作漸層背景:

    這裡值得注意的是,我最後用insertSublayer這部分可以使漸層背景到整個最底層不會蓋住其他圖片的建立。

    3.轉盤建立與文字顯示在轉盤上:

    這裡卡了一些時間,原因是因為文字顯示的邏輯我想了一下,其實就只要角度和半徑除以二就可以顯示在中間了,不知道為啥一直鬼打牆卡住。

    3. 轉盤動畫:

    利用 CABasicAnimation建立動畫,後面就是參數設定了~

    answer是我讓箭頭隨機跑到一個位置,然後再顯示出來轉動後的效果,簡單來講,動畫過程跟讓圖片變換方向後的結果是分開寫出來,後面就能達到效果了。

    4.增加減少選項:

    一開始我想到的是用表格的方式進行,但潘帥說之後會教相關的方式,所以我就先以不同方式進行,花比較多時間的是減少的部分,除了從原本建立的array移除之外,還要從view中顯示出來的移除,此時就能加上removeFromSuperview(),就能順利移除。

    之後要再加上的是,能讓每次做過的選項儲存到後端,這部分有點困難,可能需要花更多時間,以及有沒有辦法讓多台使用者同時使用同一個轉盤。

    另外這次作業真的花了點時間研究蘋果英文解釋function的程式,這真的是需要練習的經驗,因為內建的API實在太多了,自己研究出來一定會熟悉很多,也能容易找到自己要使用的function!

    參考:

    GITHUB:

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.