Opening a subview is one of the most common things you can do in an iOS app.

To open a subview from a UITableView, you simply need to push a new view controller in the didSelectRowAtIndexPath method:

– (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:
    (NSIndexPath *)indexPath
    CustomViewController *myViewController =
        [[CustomViewController alloc] initWithNibName:
        NSStringFromClass([CustomViewController class]) bundle:nil];

    // configure the subview here

    [self.navigationController pushViewController:myViewController
    [myViewController release];

If you need to configure your subview based on the row and/or section that was selected, you can use the indexPath.row and indexPath.section properties.