« Kakeibo | トップページ | Interface BuilderでToolbarにラベルをつける »

NavigationBarにMail.appのようなボタンを付ける

3
NavigationBarにMail.cppの次のメール/前のメールのようなボタンを付ける方法。

1. viewDidLoad内でUISegmentControlを生成する

- (void)viewDidLoad {
    NSArray *array = [NSArray arrayWithObjects:
        [UIImage imageNamed:@"up.png"]
        , [UIImage imageNamed:@"down.png"
        , nil];
    UISegmentControl *segmentControl = [UISegmentControl alloc] initWithItems:array];
    segmentControl.segmentControlStyle = UISegmentedControlStyleBar;
    // これをYESにすると、ボタンを押したときに選択されっぱなしにならない
    segmentControl.momentary = YES;
    [segmentControl addTarget:self action:@selector(changeItem:) forControlEvents:UIControlEventValueChanged];
    UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithCustomView:segmentControl];
    self.navigationItem.rightBarButtonItem = button;
    [segmentControl release];
    [button release];
}
pngファイルは自分で用意する必要があります。

2. ボタンを押されたときの処理を書く

- (IBAction)changeItem:(id)sender {
    UISegmentedControl *segmentControl = (UISegmentedControl *)sender;
    NSInteger selectedIndex = segmentedControl.selectedSegmentIndex;
    if (selectedIndex == 0) {
        // 前ボタンが押されたときの処理
    } else if (selectedIndex == 1) {
        // 次ボタンが押されたときの処理
    }
}

|

« Kakeibo | トップページ | Interface BuilderでToolbarにラベルをつける »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1053175/24603839

この記事へのトラックバック一覧です: NavigationBarにMail.appのようなボタンを付ける:

« Kakeibo | トップページ | Interface BuilderでToolbarにラベルをつける »