条件分岐 (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円になります"
}
}
}
おしまい
コメント