質問

I would like to call an action when my backButton is clicked but this doesn't seem to be it.

viewDidLoad in rootViewController:

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

The title of it is correct but nothing happens.

logout (in the rootViewController) header:

-(void)logout;

body:

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

Could anyone tell me how to solve this, since i have no idea. Thanks

役に立ちましたか?

解決

You can change only the title of backBarButton. You can try to use viewWillDisappear or viewDidDisappear functions but they could be called not only after you press your button. The leftBarButton is a better solution but this button's view differs from backBarButton's view.

他のヒント

The backBarButtonItem exists specifically to change the appearance of the back button. If you need a custom action, you should consider using leftBarButtonItem instead.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top