#40 擇偶條件App — 訂飲料

學習 IBOutlet,IBAction 和 if else。

基本題: 使用到

  1. text field
  2. segmented control,switch 元件
  3. 研究 UITextField,UISegmentedControl 和 UISwitch。
  4. 收鍵盤
  5. 自訂字型

拉 IBOutlet

@IBOutlet weak var juiceSelect: UISegmentedControl!
@IBOutlet weak var sugerSlider: UISlider!
@IBOutlet weak var iceSlider: UISlider!
@IBOutlet weak var bubblesSwitch: UISwitch!
@IBOutlet weak var upgradeSwitch: UISwitch!

@IBOutlet weak var orderLabel: UILabel!

定義變數及預設值

var juice = "檸檬汁"
var sugarstr = "微糖"
var icestr = "微冰"
var bubbles = ""
var upgrade = ""
var noteText = ""

為 Slider 拉 IBAction

甜度跟冰塊設定有 0~3 四個選項,用 value 取得現在是哪個數值
然後對應甜度與冰塊

// 甜度
@IBAction func sugerSelect(_ sender: Any) {
sugerSlider.value.round()

if sugerSlider.value == 0{
sugarstr = "無糖"
} else if sugerSlider.value == 1{
sugarstr = "微糖"
} else if sugerSlider.value == 2{
sugarstr = "半糖"
} else if sugerSlider.value == 3{
sugarstr = "少糖"
} else {
sugarstr = "全糖"
}
}
//冰塊
@IBAction func iceSelect(_ sender: Any) {
iceSlider.value.round()

if iceSlider.value == 0{
icestr = "去冰"
} else if iceSlider.value == 1{
icestr = "微冰"
} else if iceSlider.value == 2{
icestr = "半冰"
} else if iceSlider.value == 3{
icestr = "少冰"
} else{
icestr = "正常冰"
}
}

Switch 拉 IBAction

預設為關,用 isOn 偵測開關狀態

如果是 isOn打開代表要加珍珠或升級大杯

如果不是就是空字串

//加珍珠
@IBAction func bubblesAdd(_ sender: Any) {
if bubblesSwitch.isOn{
bubbles = "加珍珠"
} else {
bubbles = ""
}
}
//加大杯
@IBAction func upgrade(_ sender: Any) {
if upgradeSwitch.isOn{
upgrade = "大杯"
} else{
upgrade = ""
}
}

備註欄位的設定

Text Fidel 拉 Outlet 時 選擇 Did End On Exit 點擊 Return 會收起鍵盤

@IBAction func noteKeyboard(_ sender: UITextField) {
noteText = sender.text!
}

送出訂單按鈕

送出訂單前 ,先判斷有沒有貨,預設”柳橙汁”賣完

如果不是選柳橙汁,就會帶出使用者自訂的飲料

@IBAction func sendOrder(_ sender: UIButton) {

if juice == "柳橙汁" {
orderLabel.text = "柳橙汁已售完,其它果汁也很好喝"
} else {
orderLabel.text = "今晚你想來點💭:\n\n \(juice) \(sugarstr) \(icestr) \(bubbles) \(upgrade) \(noteText)"
}
}

收鍵盤之前寫過詳細可以參考

自訂字型之前寫過詳細可以參考

有貨與售完的畫面

老闆:水果現摘是要砸場子嗎?

--

--

Rose
彼得潘的 Swift iOS / Flutter App 開發教室

Coding & Design 一直在學習的路上,從未停止,一有空檔就會摸摸我的兔子🐰