iOSアプリ開発の逆引き辞典

iPhone/iPadで使えるアプリ開発のTipsをまとめてみました

UINavigationBar上でセグメンテッドボタンを使う

NavigationBarにUISegmentedControlを設置する方法を紹介します。

// セグメンテッドコントロールに表示する文字列を定義する
NSArray* items = [NSArray arrayWithObjects:@"写真", @"地図", nil];
 
// セグメンテッドコントロールのインスタンス生成とプロパティの設定
UISegmentedControl* segControl = [[[UISegmentedControl alloc] initWithItems:items] autorelease];
segControl.selectedSegmentIndex = 1;
segControl.frame = CGRectMake(0,0,100,30);
 
// NavigationBarに設定できるようにUIBarButtonItemのsubviewに設定する
UIBarButtonItem* segItem = [[[UIBarButtonItem alloc] initWithCustomView:segControl] autorelease];
self.navigationItem.rightBarButtonItem = segItem;

実行すると下図のように表示されます。

f:id:ch3cooh393:20140226153603p:plain