小費作業變化之退稅金額計算器- TaxRefund

因為大家都做小費所以想說做一個類似概念的,加上剛剛從歐洲回來,每次買東西時都要算一下機場這個商品到時候退稅可以拿回多少,所以就想說來做一個可得知退稅金額的APP

以上面的gif為例如果要買一個1200的包包,可退稅12.5%,將兩個數值輸入後可得知這個包包可以拿回150元

之後進階希望在做一版再加上:
1. 實際需付金額一併顯示
2.有一個歷史紀錄可以把幾筆加起來,得知共可退多少稅

接下來就開始說明一下步驟:

  1. 首先一樣先在illu把所需圖畫好
  2. 開始一個新專案,命名為TaxRefund,將loading畫面放進LauchScreen.Storyboard檔案內

3. 接著在Main.storyboard把所需要的元件放一放
背景使用ui image
Amount跟Percentage使用text field元件
calculate使用button
下方refund使用label
clean使用button

4. 開啟一個TaxRefundViewController準備接程式端
File > New > File > 選擇Cocoa Touch檔案 > 輸入檔名 TaxRefundViewController

5. 設置class
選到畫面那頁點選右邊選項列第三個選項,把Custom Class選成跟.swift一樣的名稱

很重要!一定要先做這一步~不然等等就會一直無法拉線
一開始因為忘記先改class一直無法拉線整個超級新手蠢!

6. 拉outlet及action
把右上方兩個圈圈的選項打開,讓畫面同時可以看到storyboard and .swift
按著control+左鍵將storyboard之元件往右拉進swift裡
amount, percentage, result 這種取值的都用Outlet,按鈕類使用Action
輸入name後connect新增

這邊注意!!!如果打錯名字時不像是寫網頁一樣直接改成稱即可,拉進去後如果想改名字必須刪掉重拉,不然就會失效,run app時會一直crash!

@IBOutlet weak var amount: UITextField!@IBOutlet weak var percentage: UITextField!@IBOutlet weak var result: UILabel!@IBAction func calculate(_ sender: UIButton) {}@IBAction func clean(_ sender: Any) {}

7. 開始寫程式
拉進去之後開始寫點擊按鈕後程式,一開始為了還沒輸入值或是輸入後還沒按按鈕的時候結果一直呈現0,有估狗參考了一下學長姐的做法,加上if語法

if amount.text == “” || percentage.text == “”{result.text = “0”

如果有輸入值的時候用else結合呈現結果

else{ let Tax = Double(amount.text!)! * Double(percentage.text!)! / 100result.text=String(Tax)

再加上點擊clean可以把值清掉及變回0語法

@IBAction func clean(_ sender: Any) {amount.text = “”percentage.text = “”result.text = “0”

下面為完整程式碼

給新手的第一次連結畫面跟程式注意事項:
> 一個controller對應一個swift檔,之間的class要設定一樣
> 拉的線透過程式行數左方圓點確認是否有連好(空心圓代表失敗)
> 每個要取得的值都要拉進程式,命名不可更改或重複

以下為github連結,期待下一次的練習

--

--