カテゴリ > Swift
[swift] SegmentedControlのフォント設定を変更する

UISegmentedControl で選択肢を増やすと、すぐに横幅に収まらなくなったので フォントサイズを小さくした。

StoryBoardで見ると、既にはみ出ている。
(そんなに大量の文字をいれなきゃいいっていう話もある)

UISegmentedControl のフォント設定はXcodeのアトリビュートプロパティで変更できないようで、コードで変更するっぽい

どこで実装するかというと、 AppDeletate
applicationDidFinishLaunching(_ application: UIApplication){
}
を追加して、そこで書いておく。

設定例:

func applicationDidFinishLaunching(_ application: UIApplication) {
    var attr = NSDictionary(object: UIFont(name: "HelveticaNeue-Bold", size: 8.0)!, forKey: NSFontAttributeName)
    UISegmentedControl.appearance().setTitleTextAttributes(attr as [NSObject : AnyObject], forState: .Normal)
}

個々のSegmentedControlに設定をしたい場合は、対象となるViewController内で
self.statusSegmentControl.setTitleTextAttributes(attr, forState: .Normal)
を記載

bar item はそのままで、segmentedControlのフォントサイズだけ小さくできた。
てか、3Dの部分の3を全角にしてしまっていることをこのブログ書く時に気付くorz

2016-12-31 | Posted in SwiftNo Comments » 


関連記事

Comment





Comment



*