#7 if else練習 | 擇偶條件App-波士頓派

Wen
彼得潘的 Swift iOS / Flutter App 開發教室
6 min readDec 2, 2023

練習目的:學習 IBOutlet,IBAction 和 if else

現在網路發達很多商店都用app來點餐,製作一個點波士頓派的app畫面

先將需要的text field,segmented control,switch設置好

選擇波士頓派口味的segmented control

 @IBAction func changflavor(_ sender: UISegmentedControl) {
if changseg.selectedSegmentIndex == 0 {
cake = "芒果波士頓派" }
else if
changseg.selectedSegmentIndex == 1{
cake = "芋頭波士頓派"}
else{ cake = "布丁波士頓派"
}
}

是否加購購物袋的switch

 @IBAction func bagswitch(_ sender: UISwitch) {
if bagswitch.isOn { bag = "加購購物袋"}
else {bag = "不加購購物袋"
}

}

控制波士頓派大小的slider

先在storyboard將slider的最大最小值設定好,尺寸小中大為1~3


@IBAction func ordersize(_ sender: UISlider) {
sender.value.round()
if sender.value == 1
{sizelabel.text = "小"}
else if sender.value == 2
{sizelabel.text = "中"}
else {sizelabel.text = "大"
}
}

送出訂單button

加入確認後消除鍵盤的程式在最後一行,按下確認會縮起鍵盤

 @IBAction func orderbutton(_ sender: UIButton) {
let name = nametext.text
if name == "" {textlabel.text = "請輸入姓名"}
else if bagswitch.isOn == true
{textlabel.text = nametext.text!+"\n" + bag+"\n" + sizelabel.text! + cake}
else
{textlabel.text = nametext.text!+"\n" + bag+"\n" + sizelabel.text! + cake}
view.endEditing(true)
}

成品

完整程式碼

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var nametext: UITextField!

@IBOutlet weak var order: UIButton!
@IBOutlet weak var sizeslider: UISlider!

@IBOutlet weak var bagswitch: UISwitch!

@IBOutlet weak var sizelabel: UILabel!

@IBOutlet weak var textlabel: UILabel!



@IBOutlet weak var changseg: UISegmentedControl!


var cake = ""
var bag = ""





override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.



}

@IBAction func changflavor(_ sender: UISegmentedControl) {
if changseg.selectedSegmentIndex == 0 {
cake = "芒果波士頓派" }
else if
changseg.selectedSegmentIndex == 1{
cake = "芋頭波士頓派"}
else{ cake = "布丁波士頓派"
}
}

@IBAction func ordersize(_ sender: UISlider) {
sender.value.round()
if sender.value == 1
{sizelabel.text = "小"}
else if sender.value == 2
{sizelabel.text = "中"}
else {sizelabel.text = "大"
}
}

@IBAction func bagswitch(_ sender: UISwitch) {
if bagswitch.isOn { bag = "加購購物袋"}
else {bag = "不加購購物袋"
}

}

@IBAction func orderbutton(_ sender: UIButton) {
let name = nametext.text
if name == "" {textlabel.text = "請輸入姓名"}
else if bagswitch.isOn == true
{textlabel.text = nametext.text!+"\n" + bag+"\n" + sizelabel.text! + cake}
else
{textlabel.text = nametext.text!+"\n" + bag+"\n" + sizelabel.text! + cake}
view.endEditing(true)
}

}

--

--