ボタンを使って条件分岐

条件分岐 (if文) を使って、ラベルの表示内容を変えます
前回の記事の続きでコーディングをします

前回の記事はこちら↓

完成形はこれ

お会計ボタンを押すと、注文された商品に応じて
金額が表示される、というものです
商品が選択されていない場合 『 注文がまだです! 』 と怒られます

Main.storyboard編集

LabelとButtonを配置した後、AutoLayoutで位置を整えます
画像ではすでに文字や背景色が変わってますが、ご了承ください (;´∀`)

ViewController.swift編集

ラベルとボタンを、ViewControllerにヒモ付けます

条件分岐ということで、if文を使用します
今回は helloworldLabel.text の内容によって okaikeiLabel.text に表示する文字を
変えたいので、以下のようになります

コーヒは100円、アイスティーは200円です
if 〜 で始まって、else if で次の条件、次の条件・・・という感じに記入します

   if helloworldLabel.text == "ご注文をどうぞ" {
            okaikeiLabel.text = "注文がまだです!"
        } else if helloworldLabel.text == "コーヒーをください" {
            okaikeiLabel.text = "100円になります"
        } else if helloworldLabel.text == "アイスティーをください" {
            okaikeiLabel.text = "200円になります"
        }

もし、コーヒーもアイスティーも100円だったら(100円均一のカフェ?)
以下のように記入ができます

   if helloworldLabel.text == "ご注文をどうぞ" {
            okaikeiLabel.text = "注文がまだです!"
        } else {
            okaikeiLabel.text = "100円になります"
        }

条件分岐のコードを記入する場所は以下です(コードを全部載せます)
最後にビルトして完了です (*´∀`)♪

import UIKit

class ViewController: UIViewController {
    
    @IBOutlet weak var helloworldLabel: UILabel!
    @IBOutlet weak var button1: UIButton!
    @IBOutlet weak var button2: UIButton!
    @IBOutlet weak var okaikeiLabel: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        //初期のラベル表示文字
        helloworldLabel.text = "ご注文をどうぞ"
        //ボタンに名前をつける
        button1.setTitle("ボタン1", for: .normal)
        button2.setTitle("ボタン2", for: .normal)
        //ボタンの枠を角丸にする
        button1.layer.cornerRadius = 10
        button2.layer.cornerRadius = 10
        //ボタンのフォントサイズを自動調整
        button1.titleLabel?.adjustsFontSizeToFitWidth = true
        button2.titleLabel?.adjustsFontSizeToFitWidth = true
    }
    @IBAction func pushButton1(_ sender: Any) {
        helloworldLabel.text = "コーヒーをください"
    }
    @IBAction func pushButton2(_ sender: Any) {
        helloworldLabel.text = "アイスティーをください"
    }
    @IBAction func resetButton(_ sender: Any) {
        //ライフサイクルの先頭に戻す
        loadView()
        viewDidLoad()
    }
    @IBAction func okaikeiButton(_ sender: Any) {
        if helloworldLabel.text == "ご注文をどうぞ" {
            okaikeiLabel.text = "注文がまだです!"
        } else if helloworldLabel.text == "コーヒーをください" {
            okaikeiLabel.text = "100円になります"
        } else if helloworldLabel.text == "アイスティーをください" {
            okaikeiLabel.text = "200円になります"
        }
    }
}

おしまい

コメント

タイトルとURLをコピーしました