iPhoneアプリ開発の虎の巻
HOME > UISegmentedControl

UISegmentedControl

UISegmentedControlクラスはセグメンテッドコントロールを管理するクラスです。
セグメンテッドコントロールはいくつかの選択肢の中から1つだけを選択させたい時に使用します。

UISegmentedControlStylePlain

UISegmentedControlのクラス階層

NSObjectUIResponderUIViewUIControl ↑ UISegmentedControl

生成

//生成例
NSArray *arr = [NSArray arrayWithObjects:@"ボタン1", @"ボタン2", @"ボタン3", nil];
UISegmentedControl *sc = [[UISegmentedControl alloc] initWithItems:arr];

UISegmentedControlのプロパティ

【UISegmentedControlの主要プロパティ】
プロパティ名/型 読専 説明
selectedSegmentIndex
(NSInteger)
選択中のボタンを設定する
(例)1番目のボタンを洗濯状態にする
 sc.selectedSegmentIndex=0;
segmentedControleStyle
(UISegmentedControlStyle)
スタイルを設定する
 UISegmentedControlStylePlain:ノーマルスタイル
  UISegmentedControlStylePlain
 UISegmentedControlStyleBordered:線付きスタイル
  UISegmentedControlStyleBordered
 UISegmentedControlStyleBar:色付きスタイル
  UISegmentedControlStyleBar
momentary
BOOL
選択された時のボタンの状態を設定する
 YES:選択したボタンが押された状態にする
 NO:選択したボタンを押された状態にしない
(例)sc.momentary = YES;
tintColor
UIColor
色を設定する
(例)sc.tintColor = [UIColor cyanColor];
※スタイルが「UISegmentedControlStyleBar」の場合のみ有効です。

主要なプロパティのみ掲載しています。
 上記「UISegmentedControlのクラス階層」にあるクラスのプロパティも使用できます。

UISegmentedControl例文

// セグメンテッドコントロール例文
NSArray *arr = [NSArray arrayWithObjects:@"明治", @"大正", @"昭和", @"平成", nil];
UISegmentedControl *seg =
    [[[UISegmentedControl alloc] initWithItems:arr] autorelease];
seg.frame = CGRectMake(0, 0, 250, 30);
seg.segmentedControlStyle = UISegmentedControlStyleBar; //スタイルの設定
seg.selectedSegmentIndex = 2; //昭和を選択
//値が変更された時にhogeメソッドを呼び出す
[seg addTarget:self action:@selector(hoge:)
    forControlEvents:UIControlEventValueChanged];
[self.view addSubview:seg];

イベントの種類については、UIControlページの「イベント」欄をご覧ください。

// 呼ばれるhogeメソッド
-(void)hoge:(UISegmentedControl*)seg{
    // ここに何かの処理を記述する
    // (引数の seg には呼び出し元のUISegmentedControlオブジェクトが引き渡されてきます)
}
totop