2011-11-09 7 views
0

私は、UINavigationControllerのleftBarButtonItemとrightBarButtonItemに余分なアイコンを追加する機能を持つ他のiPadアプリを見ています。ここにnngroup.comから撮影した画像があります:enter image description hererightbarbuttonitemとleftbarbuttonitemのアイコンを追加するためにUINavigationControllerをサブクラス化する

このようなことをするには、UINavigationControllerをサブクラス化するかカテゴリを追加していますか?あるいは彼らは何か違うことをしているのですか?私はちょうどこのようなことをする方法の一般的なアプローチを求めていましたが、多くの作業があると確信しているので、すべてのコードは必要ありません。ありがとう。

答えて

0

ツールバーオブジェクトを作成し、そのツールバーにボタンを追加し、このツールバーとして右バーボタンアイテムまたは左バーボタンアイテムのカスタムビューを設定できます。

サンプルの実装は次のとおりです。

UIToolbar * toolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0,0,160, 44.5)]; 

UIBarButtonItem *spacer = [[UIBarButtonItem alloc] 
          initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
          target:nil 
          action:nil]; 
[buttons addObject:spacer]; 
[spacer release]; 

UIBarButtonItem * deleteButton = [[UIBarButtonItem alloc] 
           initWithTitle:@"Delete" 
           style:UIBarButtonItemStyleBordered 
           target:self 
           action:@selector(deletePressed)]; 
// Button style is the default style 
[buttons addObject:deleteButton]; 
[deleteButton release]; 


UIBarButtonItem * barItem = [[UIBarButtonItem alloc] initWithTitle:@"Logout" style:UIBarButtonItemStyleBordered 
                  target:[Y3AppDelegate mainApplicationInstance] action:@selector(logout)]; 


[buttons addObject:barItem]; 
[barItem release]; 

// put the buttons in the toolbar and release them 
[toolbar setItems:buttons animated:YES]; 
[buttons release]; 

// place the toolbar into the navigation bar as Right Button item 
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] 
              initWithCustomView:toolbar] autorelease]; 
[toolbar release]; 

ここで注目すべきことは、ツールバーの色をナビゲーションバーの色調に合わせて変更する必要があることです。この答えがあなたに役立つことを願っています。

0

ナビゲーションバーを非表示にすることはできますが、代わりにナビゲーションバーの画像を表示してボタンを配置することができます:))

関連する問題