2012-11-21 8 views

答えて

1

はあなたのビューコントローラをプッシュするためにそれを使用UINavigationController &のサブクラス(CustomNavigationController)を作成しますthis-

  1. を試してみてください。
  2. CustomNavigationControllerUIBarButtonIteminitまたはviewDidLoadに作成します。 target & actionを追加してください。
  3. CustomNavigationControllerUINavigationControllerDelegateデリゲートを実装し、デリゲートメソッドで各ビューコントローラの右または左のバーボタンアイテムとしてbarButtonYouCreatedを設定します。

使用

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { 
    viewController.navigationItem.leftBarButtonItem = barButtonYouCreated; 
} 

または

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
0

あなたは以下のようにUINavigationControllerDelegateを使用することができます。

- (void)navigationController:(UINavigationController *)navigationController 
     willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 

そして、このデリゲートメソッドでは、あなたがにbarButtonItemを追加して確認することができますナビゲーションバー。

0

あなたのプッシュコントローラnavigationbar隠さ

0

をしたり、UINavigationControllerのカテゴリを使用してみてください、と戻ってアイテムをカスタマイズし、その後、あなたのプッシュコントローラを含むUINavigationControllerのグローバルUITabBarControllerを作成し、それを押すだ回数に関係なく可能navigationControllerの背番号に対して同じビューを設定するだけです。 次のようなもの:

@implementation UIViewController (CustomNavigation) 

- (void)setLeftBarButtonItem:(UIButton*)leftview 
{  
    UIBarButtonItem *customItem = [[[UIBarButtonItem alloc] initWithCustomView:leftview] autorelease]; 
    self.navigationItem.leftBarButtonItem = customItem; 
    [(UIButton*)self.navigationItem.leftBarButtonItem.customView addTarget:self.navigationController action:@selector(popViewControllerAnimated:) forControlEvents:UIControlEventTouchUpInside]; 
} 
関連する問題