2017-07-08 10 views
0

ナビゲーションバーのボタンを変更しようとしています。iOSカスタムナビゲーションのバックバーボタンの操作が機能しない

マイコードは自己表示コントローラをプッシュします。

私は、2番目のビューコントローラ、ナビゲーションの背面バーのボタン(左のバーボタン)を押すとホームイメージのバーボタンの項目を表示する必要があります。

次に、プッシュセルフセレクトコントローラの後に、デフォルトのバックバーボタンとカスタムアクションが表示されます。

しかし、私が3番目のビューを押したとき、カスタムアクションは常に機能しません。

問題を解決する理由または解決方法を知りましたか?

スタック:

メイン - >プッシュ(メインファイルリスト) - >プッシュ(子ビューコントローラ)(ショーのデフォルトバックナビゲーションバーボタンの矢印を持っていますが、意志カスタムアクション) - >プッシュ...(同じ子アクション以下)...->プッシュ...

私の部分のコード:

 NSInteger nmvcCount = 0; 
     NSArray* navControllersAry = [self.navigationController viewControllers]; 

     for(NSInteger j = 0 ; j <= [navControllersAry count]-1; j++){ 


      if([[[self.navigationController viewControllers] objectAtIndex:j] isKindOfClass:[FMVC class]]){ 
      nmvcCount = nmvcCount + 1; 
      } 

     } 

     if(nmvcCount == 1){ 
      // home bar button is using storyboard draw 
      self.navigationItem.leftBarButtonItem = self.homeBarBtn; 

     }else{ 
      self.navigationItem.leftBarButtonItem = nil; 
      [self.navigationItem.backBarButtonItem setTarget:self]; 
      [self.navigationItem.backBarButtonItem setAction:@selector(popAndOtherProcess:)]; 

     } 

} 

.... 

-(void) popAndOtherProcess:(id)btn{ 
    NSLog(@"it work"); 
} 

はどうもありがとうございました。あなたはこのコードを試すことができます

+0

Kinldyはより明確にします。私たちは、あなたが望むものを得ることができませんでした。戻るボタンに割り当てるカスタムアクションとは何ですか? ?? – luckyShubhra

+0

私はカスタムアクションが必要ですが、popAndOtherProcessメソッドを入力していません。要するに、同じビューコントローラでは、私はバックバーのボタンを使用する必要がありますいくつかの状況は、左のバーボタンの項目を使用して置き換えます。いくつかの状況では、左のバーボタンの項目は、デフォルトのバックバーボタン(矢印があります)を使用しますが、バックバーのボタンの操作はカスタムです。 – dickfala

+0

今、popAndOtherProcessは常に入力しません。 – dickfala

答えて

0

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
          initWithTitle:@"Flip"            
          style:UIBarButtonItemStyleBordered 
          target:self 
          action:@selector(backView:)]; 
self.navigationItem.rightBarButtonItem = backButton; 

使用方法は次のように:

-(IBAction)backView 
関連する問題