UISegmentedControl
UISegmentedControlクラスはセグメンテッドコントロールを管理するクラスです。
セグメンテッドコントロールはいくつかの選択肢の中から1つだけを選択させたい時に使用します。
UISegmentedControlのクラス階層
生成
//生成例
NSArray *arr = [NSArray arrayWithObjects:@"ボタン1", @"ボタン2", @"ボタン3", nil];
UISegmentedControl *sc = [[UISegmentedControl alloc] initWithItems:arr];
UISegmentedControlのプロパティ
プロパティ名/型 | 読専 | 説明 |
---|---|---|
selectedSegmentIndex (NSInteger) |
選択中のボタンを設定する (例)1番目のボタンを洗濯状態にする sc.selectedSegmentIndex=0; |
|
segmentedControleStyle (UISegmentedControlStyle) |
スタイルを設定する UISegmentedControlStylePlain:ノーマルスタイル UISegmentedControlStyleBordered:線付きスタイル 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オブジェクトが引き渡されてきます)
}