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