おーしまブログ

プログラミングやってます

<swift> UISegmentedControlを使う

こんにちは、おーしまです。

最近、swiftの勉強を始めたのでご紹介していきます。

今回は、「SegmentedControl」を使った簡単なアプリを作成したので、それの紹介です。

f:id:tomo_bb_aki0118115:20201223224447p:plain


画面中央にある「A 、B、C、D」と書かれた4つのボタンが「SegmentedControl」です。
アプリの内容としましては、「A 、B、C、D」のいずれかがタップされると、上の文字が「◯番目の◯が選ばれた」と表示します。そして下の「2番目を選択」ボタンを押すと、2番目のBが選択されるようになっています。



コード

import UIKit

class ViewController: UIViewController {
    
    @IBOutlet weak var segumentedControll: UISegmentedControl!
    @IBOutlet weak var label: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    @IBAction func selectedUIViewControl(_ sender: Any) {
        let num = segumentedControll.selectedSegmentIndex
        if let title = segumentedControll.titleForSegment(at: segumentedControll.selectedSegmentIndex) {
            label.text = "\(num + 1)番目の\(title)が選ばれた"
        }
    }
    
    @IBAction func sendedButton(_ sender: Any) {
        segumentedControll.selectedSegmentIndex = 1
    }
    
}

@IBOutletで「SegmentedControll」と「label」を定義しています。
@IBActionで、SegmentedControlが選択された際と、ボタンが押された際の動作を定義しています。


細かく見ていきましょう。

    @IBAction func selectedUIViewControl(_ sender: Any) {
        let num = segumentedControll.selectedSegmentIndex
        if let title = segumentedControll.titleForSegment(at: segumentedControll.selectedSegmentIndex) {
            label.text = "\(num + 1)番目の\(title)が選ばれた"
        }
    }

こちらは、セグメントコントロールが選択された際の動作です。

「num」には、「segumentedControll.selectedSegmentIndex」で選択されている番号を取得し、代入しています。
「title」には、「segumentedControll.titleForSegment(at: segumentedControll.selectedSegmentIndex)」で選択されているセグメントのタイトル(中の文字)を取得し、代入しています。
それを、「 label.text = "\(num + 1)番目の\(title)が選ばれた"」で表示する流れになります。
「if」でタイトルを取得できた際に、表示するようにしています。




    @IBAction func sendedButton(_ sender: Any) {
        segumentedControll.selectedSegmentIndex = 1
    }

こちらは、ボタンが押された際の動作です。

「segumentedControll.selectedSegmentIndex = 1」で、2番目のマスを選択できます。今回は、マスが4つあるので左から「0、1、2、3」と言う風になっています。





今回はここまでです。
お疲れ様でした。

ここはどこ おれはだれ それに近いものがあんだよ 始めようとした奴らも迷い始めてる 怖がらせないでよ そりゃ甘くはないけど まだまだ 夢見ていい世界なんでしょ {UVERwould「ハイ!問題作」}