LoginSignup
0
1

More than 3 years have passed since last update.

既にxibに存在するUISegmentControllerのセグメント数をコードで変更する。

Last updated at Posted at 2019-12-17

UISegmentControllerとは

スクリーンショット 2019-12-17 19.58.52.png

このようなオブジェクトですね。
詳細はApple UISegmentControllerをご確認ください。

調べてもSegmentControllerをコードでセグメント数増減する記事が無かったので、
記事書いてみます。

Objective-C

    ///既存のセグメント全件を削除する。
    [self.segmentController removeAllSegments];

    ///既存のセグメントコントロールの0番目にセグメントを追加する。
    [self.segmentController insertSegmentWithTitle:@"ONE" atIndex:0 animated:YES];

    ///既存のセグメントコントロールの1番目にセグメントを追加する。
    [self.segmentController insertSegmentWithTitle:@"TWO" atIndex:1 animated:YES];

Swift

    ///既存のセグメント全件を削除する。
  segmentController.removeAllSegments()

    ///既存のセグメントコントロールの0番目にセグメントを追加する。
  segmentController.insertSegment(withTitle: "ONE", at: 0, animated: true)

    ///既存のセグメントコントロールの1番目にセグメントを追加する。
  segmentController.insertSegment(withTitle: "TWO", at: 1, animated: true)

xibで既に配置する必要性について

大抵のケースにおいてオートレイアウトで設定されるため、
UISegmentoControllerに関しては恐らくxibで配置されているのかと思います。

xib上では最低セグメント数が2件なので、0件にする事が出来ません。
なので、- (void)viewDidLoad {とかのタイミングで上記処理を入れてあげてください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1