2012-03-19 20 views
1

backButtonがクリックされたときにアクションを呼び出すが、これはそうではないようだ。 rootViewControllerでbackBarButtonItemはアクションを呼び出さない

viewDidLoad

self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] 
              initWithTitle:@"Logout" 
              style:UIBarButtonItemStyleDone 
              target:self 
              action:@selector(logout)] autorelease]; 

それのタイトルは正しいですが、何も起こりません。 ヘッダ(rootViewController中)

logout

-(void)logout; 

体:私は見当がつかないので、

-(void)logout { 
    NSLog(@"test"); 
    [[User owner] logout]; 
} 

は誰もが、どのようにこの問題を解決する方法を教えてもらえ。ありがとう

+0

ログアウト方法の定義方法をコードで表示できますか? –

答えて

4

backBarButtonのタイトルのみを変更できます。 viewWillDisappearまたはviewDidDisappear関数を使用しようとすることはできますが、ボタンを押すだけでなく、呼び出すこともできます。 leftBarButtonはより良い解決策ですが、このボタンの表示はbackBarButtonのビューとは異なります。

+0

ええ、彼らは確かに異なって見えます。コントローラのアイテムを右に押しても、「viewDidDisappear」が呼び出されます。 – chikuba

+0

私は、iOSのプログラムがviewDidDisappearまたはいくつかの状況(backBarButtonではなく)で同様の関数を呼び出すが、私はまだこのイベントの送信者をチェックしようとしていないことを意味する – Gargo

3

backBarButtonItemは、具体的にはのバックボタンの外観を変更するために存在します。カスタムアクションが必要な場合は、代わりにleftBarButtonItemの使用を検討する必要があります。

関連する問題