Swift-冰咖啡介紹

實作 Table View 的基本功能

--

咖啡是現代人幾乎每天都需要的精神糧食,好比老人家愛喝茶一般,以前曾經跌入過精品咖啡的坑中,也曾經想辭職開間有溫度的咖啡店,當一下厲害的咖啡吧台手,認識一些咖啡界的朋友,看遍了咖啡店的辛酸,加上味覺不是那麼敏銳,最終還是當個客人就好!

雖然熱的咖啡才喝得出每支咖啡的香氣與特殊口感,但炎炎夏日偶爾會想來杯冰咖啡消消暑,無論是運動前來杯冰滴加速脂肪燃燒還是下午嘴饞想喝飲料時,都非它莫屬,趁這次作業介紹一下自己知道且常在做的冰咖啡種類!

依據Peter網頁條列的功能,大致有完成的如下

1. 利用內建的 cell 樣式顯示表格內容,定義 UITableViewDataSource 的相關 function。

2. 表格的資料 : array 的成員型別是自訂型別,比方 struct Song。(比較好的做法)。

3. 利用 IBSegueAction,點選 cell 後可到下一頁顯示詳細資訊。

4. 客製 cell 顯示表格的內容,自訂 cell 類別和連結 outlet 到 cell 類別,搭配 as! 轉型。

5. cell 採用固定高度,cell 裡的元件設定 auto layout 條件。

此外,下一頁顯示詳細資訊部分,還額外增加點擊“影片“字樣的button會開啟網頁播放YouTube的教學影片,其中某個種類在網路上找不到只好把網址該為文字介紹的網頁(歐舍咖啡),雖然有成功開啟網頁至YouTube頁面,但會顯示異常畫面不能播放,或者無法開啟頁面等等等,大概是以下的畫面!

播放異常畫面

流程簡述:

Step1. 建立自訂的TableViewController,並設定在storyboard上新加入的TableViewController

設定成自定義的TableViewController

Step2. 加入圖片至Assets,並重新命名

加入圖片至Assets

Step3. 固定table cell的高度並加入相關元件

固定高度做法可參考Peter的教學

固定cell高度為180

Step4. 設定元件的Auto Layout

必須先自首,在這一塊我卡非常久,不論怎麼設定image view & Label都無法呈現在設定的位置,即使固定了兩者的width & height,最後使用stack view,令stack view與content view同樣大小,使得兩者勉強接近預期位置,經過Peter掃過設定後,原來….我把content view的class改到的,所以才有這些問題!

Step5. 自訂一個tableviewcell的類別,並將其設為TableCell的class

設定cell的類別

Step6. 將image與label拉IBOutlet至TableViewCell中

Step7. 自訂IceCoffee的型別

Step8. 設定IceCoffees的內容,同時定義section與cell的數量

Step9. 設定cell的identifier與程式碼修改

設定identifier

Step10. 自訂IceCoffeeDetailViewController,同時在storyboard新增ViewController,並設class為IceCoffeeDetailViewController

設定ViewController的類別

Step11. 編輯IceCoffeeDetailViewController的程式碼,與其storyboard的UI元件

程式碼部分除了元件相關的Outlet與內容外,還增加buttonPressed的IBAction,點擊後開啟safari瀏覽器

Step12. 從cell拉segue至IceCoffeeDetailViewController

Step13. 在IceCoffeeTableViewController定義IBSegueAction

Step14. segue與IceCoffeeTableViewController建立連結

segue拉線至TableViewController
選擇showDetail

成品

--

--