There's no need to manually add a back button.
But if you really need that custom button to pop the view controller, you could make a custom message.
-(void)popViewControllerWithAnimation {
[self.navigationController popViewControllerAnimated:YES];
}
...
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:self action:@selector(popViewControllerWithAnimation)];
Or create an NSInvocation.
NSInvocation* invoc = [NSInvocation invocationWithMethodSignature:
[self.navigationController methodSignatureForSelector:@selector(popViewControllerAnimated:)]];
// watch out for memory management issues: you may need to -retain invoc.
[invoc setTarget:self.navigationController];
[invoc setSelector:@selector(popViewControllerAnimated:)];
BOOL yes = YES;
[invoc setArgument:&yes atIndex:2];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:invoc action:@selector(invoke)];