いくつかセグメントを分けて表示し、タップされたものに応じて何か処理をするときなどに便利です。
<h3> 実行環境 </h3>
Swift:4.2
Xcode:10.1
<h3> UISegmentedControlのタップアクションの使い方 </h3>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import UIKit class ViewController: UIViewController { @IBOutlet weak var segmentedControl: UISegmentedControl! override func viewDidLoad() { super.viewDidLoad() } @IBAction func tapSegmentedControl(_ sender: UISegmentedControl) { //タップされた箇所に応じて、処理を実行 switch sender.selectedSegmentIndex{ case 0:print("1つ目のセグメント") case 1:print("2つ目のセグメント") case 2:print("3つ目のセグメント") case 3:print("4つ目のセグメント") default:print("その他") } } } |
ちなみに、Storyboardから引っ張ってきてタップアクションを作ったときはデフォルトだと sender:Any になっています。そのままにしておくと、コードに修正を加えるようにXcodeから提案されるのですが、AnyをUISegmentedControlに変更すれば問題なく動くようになります。