Use the following where appropriate:

 [tableView deselectRowAtIndexPath:indexPath animated:YES];

e.g. in `didSelectRowAtIndexPath`:

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
	 [tableView deselectRowAtIndexPath:indexPath animated:YES];
 }

This will deselect the row at the specified index path.

You could also be interested in `clearsSelectionOnViewWillAppear` property in `UITableViewController`. If this property is set to yes then the controller clears the selection when the table appears. In default it set to YES.

http://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewController_Class/Reference/Reference.html#//apple_ref/occ/instp/UITableViewController/clearsSelectionOnViewWillAppear