PR
UISegmentControlを使うことはまあまああるかと思いますが、正直あまりstoryboard上でポチポチ設定したくはないですよね。
レイアウトの配置はstroyboard上で行ったとしても、各セグメントなどはできればコードで行いたいです。
@IBOutlet weak var segmentControl: UISegmentedControl! {
didSet {
// 設定するセグメントの文字列を格納する[String]
let titles = ["titleA", "titleB"]
// storyboard上で設定されているセグメントを一旦全削除
segmentControl.removeAllSegments()
// titlesで作成した文字列でセグメントを設定
for (i, title) in titles.enumerated() {
segmentControl.insertSegment(withTitle: title, at: i, animated: false)
}
// 最初に選択されているセグメントを指定
segmentControl.selectedSegmentIndex = 0
// tintColorの設定
segmentControl.tintColor = .blue
// 背景色を設定
segmentControl.backgroundColor = .yellow
// 選択されているセグメントのTintColor
segmentControl.selectedSegmentTintColor = .white
// 選択されているセグメントの文字色
segmentControl.setTitleTextAttributes( [.foregroundColor: UIColor.black], for: .selected)
// 選択されていないセグメントの文字色
segmentControl.setTitleTextAttributes( [.foregroundColor: UIColor.gray], for: .normal)
}
}
こんな感じで諸々設定していきます。
人にもよりますが、UISegmentControlをstoryboard上に配置したら、outletで紐付けだけしておいて、あとはすべてコードで設定するのが楽でおすすめです。
ただ次は、storyboardを使わずにすべてコードだけでUIを作成するのもありかなと思っています。SwiftUI少し触ってみましたが、UIKitで表現出来ていたことが色々出来ないことが多く、本格的に手を出すのはまだ先かなというこの頃です。
PR
PR
ココナラというサービスをご存知ですか?
ココナラは、プログラミングやウェブ制作、デザインなどの専門知識を持つ人たちが、自分のスキルを活かしてサービスを提供する場所です。
初学者の方でも気軽に相談できるため、自分のスキルアップにも最適です。また、自分自身もココナラでサービスを提供することができ、収入を得ることができます。
ぜひ、ココナラに会員登録して、新しい世界を体験してみましょう!