Question: For one of my view controller (extends UITableViewController), I need to configure its back button text to "Back". But the back button still shows up with parent view controller's title (the default).

```
- (void)viewDidLoad
{
    ...
    self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil] autorelease];
}

```

Answer: 
Try this:

```
UIButton* backButton = [UIButton buttonWithType:101];
[backButton addTarget:self action:@selector(popView:) forControlEvents:UIControlEventTouchUpInside];
[backButton setTitle:@"Back" forState:UIControlStateNormal];

UIBarButtonItem* backItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = backItem;
self.navigationItem.backBarButtonItem.enabled = NO;
self.navigationItem.leftBarButtonItem.enabled = YES;
[backButton release];

```

You need implement a simple method popView, something like this:

```
-(IBAction)popView:(id)sender
{
    [self.navigationController popViewControllerAnimated:NO];
}

```
Here's a bit more information from the latest UINavigationController class reference, which tells you how to change the button in either the "pushing" or "pushed" controller (I'd add the link, but Apple keeps moving stuff around in subtle ways. Please use your favorite search engine). 

In summary: if you are configuring the back button in the pushing (ie, the previous) controller, you access the backBarButtonItem. This perfect for configuring a consistently named back button regardless of the next controller's type. If you want/need to change it in the pushed (ie, the current) controller, you need to access the leftBarButtonItem.

The relevant text is here:

> 
> The bar button item on the left side of the navigation bar allows for
>  navigation back to the previous view controller on the navigation
>  stack. The navigation controller updates the left side of the
>  navigation bar as follows:
> 
> 
> If the new top-level view controller has a custom left bar button item, that item is displayed. To specify a custom left bar button
>  item, set the leftBarButtonItem property of the view controller’s
>  navigation item.
> 
> 
> If the top-level view controller does not have a custom left bar button item, but the navigation item of the previous view controller
>  has a valid item in its backBarButtonItem property, the navigation bar
>  displays that item.
> 
> 
> If a custom bar button item is not specified by either of the view controllers, a default back button is used and its title is set to the
>  value of the title property of the previous view controller—that is,
>  the view controller one level down on the stack. (If there is only one
>  view controller on the navigation stack, no back button is displayed.)
> 
> 
>