Storyboardを使わずにコード側から生成したSegmentedControlの数を変える方法を勉強したのですが、
addSubViewを使わずに(コード側からSegmentedControlを生成しない)、
Storyboard側で配置したSegmentedControlの数をコードで変えるにはどうすればよいでしょうか?
以下はaddSubViewを使ってSegmentedControlを全てコード側のみで実装した方法
Swift
1import UIKit 2 3class ViewController: UIViewController { 4 var segmentedControl: UISegmentedControl! 5 6 override func viewDidLoad() { 7 super.viewDidLoad() 8 // Do any additional setup after loading the view, typically from a nib. 9 let params = ["左", "中", "右"] 10 segmentedControl = UISegmentedControl(items: params) 11 segmentedControl.frame = CGRect(x:20, y:20,width:200, height:30) 12 self.view.addSubview(segmentedControl) 13 } 14}
追記:成功しました。
swift
1import UIKit 2 3class ViewController: UIViewController { 4 5 @IBOutlet weak var segbutton: UISegmentedControl! 6 //以下の関数を挿入 7 func insertSegment(withTitle title: String?,at segment: Int,animated: Bool) { 8 } 9 10 override func viewDidLoad() { 11 super.viewDidLoad() 12 // Do any additional setup after loading the view, typically from a nib. 13 //最初に入っていたボタンを全て削除 14 segbutton.removeAllSegments() 15 //一つ一つボタンを追加するコード 16 segbutton.insertSegment(withTitle: "page1", at: 0, animated: true) 17 segbutton.insertSegment(withTitle: "page2", at: 1, animated: true) 18 segbutton.insertSegment(withTitle: "page3", at: 2, animated: true) 19 segbutton.insertSegment(withTitle: "page4", at: 3, animated: true) 20 } 21}
関数(func insertSegment)の使い方に関してはapple公式に載っていなかったため、
過去の先行質問を参考にしました。
https://teratail.com/questions/104096
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/19 09:33