【iPhoneアプリ開発】UINavigationBarに複数のUIBarButtonItemを配置する方法
公開日:
:
最終更新日:2016/02/10
iOSアプリ開発
記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

UINavigationBarの左側や右側に、複数のUIBarButtonItemを配置する方法を解説したいと思います!
右側に複数のUIBarButtonItemを配置する方法

まずは右側に配置する方法から。やり方は簡単。複数のUIBarButtonItemオブジェクトを配列に入れて、self.navigationItem.rightBarButtonItemsにセットするだけです。以下、サンプルコード。
- (void)viewDidLoad
{
[super viewDidLoad];
UIBarButtonItem *itemR1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(pressButtonR1:)];
UIBarButtonItem *itemR2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(pressButtonR2:)];
self.navigationItem.rightBarButtonItems = @[itemR1, itemR2];
}
ボタンは右側から左側に向かって配置されるので注意してください。
左側に複数のUIBarButtonItemを配置する方法

次は左側に配置する方法。先ほどと同じく複数のUIBarButtonItemオブジェクトを配列に入れて、self.navigationItem.leftBarButtonItemsにセットするだけです。以下、サンプルコード。
- (void)viewDidLoad
{
[super viewDidLoad];
UIBarButtonItem *itemL1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(pressButtonL1:)];
UIBarButtonItem *itemL2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(pressButtonL2:)];
self.navigationItem.leftBarButtonItems = @[itemL1, itemL2];
}
こちらの場合は、ボタンが左側から右側に向かって配置されます。
@akio0911はこう思った。
ボタンが1つの場合はrightBarButtonItemやleftBarButtonItemにセットしますが、複数の場合はそれがrightBarButtonItemsやleftBarButtonItemsに変わるだけなので、とても簡単ですね!



