UISegmentedControlの基本処理

2010/12/24

UISegmentedControlは現在のボタンをグルーピングしながらステートを保持してくれるので便利。 UITabBarのように複数のUIViewControllerを扱うまでもない場合に利用するかと。 (UISegmentedControlでもできない事がないけど、UIViewControllerの管理が煩雑になるかと)

IBの設定

UISegmentedControlを任意の場所にドラッグする。 iphone

UIToolBarに追加するとそれなりのスタイルを合わせてくれます。 iphone

ボタンの数はデフォルト2個ですが、それ以上のボタン数にすることもできます。 iphone

ボタンクリック時の処理

どのボタンが押されたか?の判断は、UISegmentedControlのselectedSegmentIndexでします。 IBActionでボタンクリック時のメソッドを用意して、条件を振り分け。

- (IBAction)segmentedControlPressed:(id)sender {
    UISegmentedControl *segmentedControl = (UISegmentedControl *)sender;
    switch (segmentedControl.selectedSegmentIndex) {
        case 0: 
            break;
        case 1:
            break;
    }
}

あまりswitchは使いたくない派ですが、一応サンプルという事で。