スポンサーリンク
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
コメント
コメントはありません。