7

私だけではなく、左右ボタン、UINavigationbarに多くのUIBarButtonItem年代を追加したい:UINavigationBarに複数のUIBarButtonItemを追加するにはどうすればよいですか?

logoButton = [[UIBarButtonItem alloc] initWithTitle:@"A Button" style:UIBarButtonItemStyleBordered target:self action:@selector(logoButtonAClicked:)]; 

logoButton2 = [[UIBarButtonItem alloc] initWithTitle:@"B Button" style:UIBarButtonItemStyleBordered target:self action:@selector(logoButtonBClicked:)]; 

logoButto3 = [[UIBarButtonItem alloc] initWithTitle:@"C Button" style:UIBarButtonItemStyleBordered target:self action:@selector(logoButtonCClicked:)]; 

self.navigationController.navigationBarHidden = NO; 

self.title = @"Title"; 

NSArray* items = [[NSArray alloc] initWithObjects:logoButtonA, logoButtonB, logoButtonC, nil]; 
self.navigationController.navigationBar.items = items; 

私はUINavigationBarに複数UIBarButtonItem秒を追加することができますSIGBRT

self.navigationController.navigationBar.items = items;にどのように取得しますか?

+0

[UINavigationBarの[Multiple UIBarButtonItems]の複製が可能です。](0120-338-805) –

答えて

16

を使用する必要があります。あなたは右のあなたのボタンをしたい場合は、rightBarButtonItemsを使用

NSArray *buttonArray = [NSArray arrayWithObjects:logoButton, logoButton2, logoButton3, nil]; 
self.navigationItem.leftBarButtonItems = buttonArray; 

:だから、これを行うことができます。

+0

[戻る]ボタンを消さずに左のバーボタンを追加する方法はありますか? – NHDaly

4

あなたはあなたがいないUINavigationBarに、UINavigationItemUIBarButtonItemインスタンスを追加する必要が

self.navigationItem.leftBarButtonItems = items; 
-1

ナビゲーションバーのaddSubViewを使用します。

+0

これらのボタンは標準の 'UIBarButtonItem'インスタンスのように見えたり動作しないし、さらに' UIBarButtonItem'は 'UIView'のサブクラスではないので、[navigationBar addSubview:logoButton ] '。 –

+0

-1: 'UINavigationBar' docs:'ナビゲーションバーをスタンドアロンオブジェクトとして使用する場合は、その内容を提供する責任があります。他のタイプのビューとは異なり、ナビゲーションバーに直接サブビューを追加することはありません。代わりに、ナビゲーションアイテム(UINavigationItemクラスのインスタンス)を使用して、表示するボタンまたはカスタムビューを指定します。 –

関連する問題