選択するためのボタンを複数設置するよりも使いやすいUISegmentedControlの基本的な使い方
UISegmentedControlってどんなやつ?こんなやつです
UISegmentedControlのサンプルコード
Storyboardを使った基本的なコードは下記のような形になります。
選択したindexを取得するときはselectedSegmentIndexで何番目の選択肢が選択されているかを確認します
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var segmented: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func changeSegmentedControl(_ segmented: UISegmentedControl) {
print(segmented.selectedSegmentIndex)
}
}
コードだけで実装
簡単に選択肢が2つだけのUISegmentedControlです
初期の選択を0に設定しています
コードの場合もStoryboardを利用した場合もそれほど大きな変化はありません
UISegmentedControlを初期化する際にitemsを設定しそこに文字の配列を入れています
この文字の配列がボタンのタイトルになります
import UIKit
class ViewController: UIViewController {
var segmented: UISegmentedControl!
override func viewDidLoad() {
super.viewDidLoad()
segmented = UISegmentedControl(items: ["First" , "Second"] )
segmented.frame = CGRect(x: 0, y: 0, width: 250, height: 30)
segmented.center = self.view.center
segmented.addTarget(self , action: #selector(changeSegmentedControl(_:)), for: .valueChanged)
self.view.addSubview(segmented)
//初期の選択をindex = 0に指定
segmented.selectedSegmentIndex = 0
}
@objc func changeSegmentedControl(_ segmented: UISegmentedControl) {
print(segmented.selectedSegmentIndex)
}
}