【Objective-C/Swift】iOS13以降カスタマイズ可能になったUISegmentControllerの変更について【Xcode11】

こういう人に向けて発信しています。
・iOS13対応をしている人
・UISegmentControllerを色を変更したい人
・iOS開発初心者

デザイン

元々は四角いデザインでオンオフみたいな感じで切り替わりましたが、アニメーションで砂時計を傾けたみたいなアニメがつきました。

また、選択時のセグメントは文字色・背景色変更可能です。
(今回は背景が青く、文字色が白くなりました)

Objective-C

[segmentedController setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor], NSFontAttributeName: [UIFont boldSystemFontOfSize:13]} forState:UIControlStateSelected];
[segmentedController setSelectedSegmentTintColor:[UIColor redColor]];¥

Swift

segmentController.setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.blue], for: .selected)
segmentController.selectedSegmentTintColor = UIColor.white;



//全体
import UIKit

class ViewController: UIViewController {

   @IBOutlet weak var segmentController: UISegmentedControl!
   
   override func viewDidLoad() {
       super.viewDidLoad()
       segmentController.setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.blue], for: .selected)
       segmentController.selectedSegmentTintColor = UIColor.white;
       
   }


}
​

この記事が気に入ったらサポートをしてみませんか?