NME Best Of 2019 App — storyboard 製作 App 練習

這次的作業我藉由 https://www.nme.com/ (NME) 所製作的2019年度最佳歌曲、專輯、電影排行榜來創建了一個只依靠 Stroyboard 功能,沒有參入任何自寫程式碼的iOS App。

雖然NME的年度最佳歌曲、專輯、電影榜分別各有50、50、20名,我只有各取20、 10、 10位來做功能展示足矣,再多也只是複製貼上罷了。

此 App 是依照 iPhone 11 / iPhone 11 Pro Max的解析度設計的。

模擬器操作畫面:

APP 架構說明

整個App 分為三個 Tab , Songs、Albums、Films。

App 在 Xcode 中呈現的架構

Songs :

Songs Tab

我把 Navigation Controller 用 Segue 連接到 Table View Controller 作為Root View Controller,在 Table View Controller 中插入一個 Image View 作為 Header,建立 20 個 Table view Cells 來作為排行榜。

在 Table View Cell 建立一個Button 塞滿整個Cell,再將Button 用Segue連到相對應歌曲的分頁,就可以藉由點選Cell來進入歌曲資訊。

建立Button充滿整個Cell
歌曲資訊,畫面的捲動功能是利用Scroll View來實現。
分頁下方有個按鈕,可以連結到Spotify直接聆聽歌曲。

Albums:

Albums Tab

將Scroll view的 contentSize 設為 {4140, 725} 來塞入十個橫向捲動的滿版View。

Scroll view 中代表了專輯滿版分頁的View。

我在 Scroll View 中的 View 裡面上面放了 Image View ,下面的Text View裹上了又一層的 Scroll View 來達到文動圖不動的效果,而代表著專輯圖片的Image View左方也放了一個按鈕來連接 Spotify 。

Films :

Films Tab

和 Songs Tab 相同, 也是利用了 Table View 來作為 Root View Controller,並利用 Button 塞滿 Cell ,並用Segue (Show detail) 來顯示電影資訊。

總結

這次的作業花了大概10個小時,其中排版是最花時間的,也許是我才識淺薄,但不用程式碼好像不能將 Text view 依內容文字量自動調整寬高,所以每個Text view都自己手動拉到能夠容納全部文字的大小。

其餘的內容都只是複製貼上罷了,這次的作業也讓我體認到撰寫程式來實現自動化的可貴。

Dark Mode中也可以清楚呈現
Launching Screen
App icon

實現功能:

  • 搭配 tab bar controller & navigation controller。
  • 使用 table view controller with static cells。
  • 使用 segue 串接頁面。
  • 設定 App Icon ,名稱和 App 的開頭畫面(LaunchScreen.storyboard)。
  • 使用到 iOS SDK 的各種 UI 元件,比方 view,button,label,image view,text view,table view,scroll view。
  • 使用到 text view,可點選文字連結顯示網頁和地圖。
  • 使用 SF Symbols,另外也可從 flaticon 網站找尋精美的 App Icon 素材。
  • 支援 dark mode。
  • 包含左右滑動區塊的 table view

--

--