#40 擇偶條件App — 訂飲料
Published in
5 min readMay 7, 2021
學習 IBOutlet,IBAction 和 if else。
基本題: 使用到
- text field
- segmented control,switch 元件
- 研究 UITextField,UISegmentedControl 和 UISwitch。
- 收鍵盤
- 自訂字型
拉 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)"
}
}
收鍵盤之前寫過詳細可以參考
自訂字型之前寫過詳細可以參考
有貨與售完的畫面
老闆:水果現摘是要砸場子嗎?