Swiftでセグメントコントロール(UISegmentedControl)をコードで追加する

calendar

reload

Swiftでセグメントコントロール(UISegmentedControl)をコードで追加する

スポンサーリンク

SwiftでUISegmentedControlを追加

// セグメントに追加するテキストの設定
let params = ["左を選択", "中央を選択", "右を選択"]
// UISegmentedControlを生成
let mySegment = UISegmentedControl(items: params)
mySegment.frame = CGRect(x: 10, y: 100, width: UIScreen.main.bounds.size.width-20, height: 40)
// 選択されたセグメントの背景色の設定
mySegment.tintColor = UIColor(red: 0.13, green: 0.61, blue: 0.93, alpha: 1.0)
// セグメントの背景色の設定
mySegment.backgroundColor = UIColor(red: 0.96, green: 0.98, blue: 1.00, alpha: 1.0)
// 選択されたセグメントのフォントと文字色の設定
mySegment.setTitleTextAttributes([
    NSAttributedString.Key.font : UIFont(name: "HiraKakuProN-W6", size: 14.0)!,
    NSAttributedString.Key.foregroundColor: UIColor.white
    ], for: .selected)
// セグメントのフォントと文字色の設定
mySegment.setTitleTextAttributes([
    NSAttributedString.Key.font : UIFont(name: "HiraKakuProN-W3", size: 14.0)!,
    NSAttributedString.Key.foregroundColor: UIColor(red: 0.30, green: 0.49, blue: 0.62, alpha: 1.0)
    ], for: .normal)
// セグメントの選択
mySegment.selectedSegmentIndex = 0
// セグメントが変更された時に呼び出すメソッドの設定
mySegment.addTarget(self, action: #selector(segmentChanged(_:)), for: UIControl.Event.valueChanged)
// UISegmentedControlを追加
self.view.addSubview(mySegment)
セグメントが変更された時に呼び出されるメソッド
// セグメントが変更された時に呼び出されるメソッド
@objc func segmentChanged(_ segment:UISegmentedControl) {
    switch segment.selectedSegmentIndex {
    case 0:
        print("左を選択した。")
    case 1:
        print("中央を選択した。")
    case 2:
        print("右を選択した。")
    default:
        break
    }
}

動作環境:Xcode10.0, Swift4.2

この記事をシェアする

コメント

コメントはありません。

down コメントを残す