I am almost done implementing a UITableViewCell with a UITextField in it. Rather then going through CGRectMake and UITableViewCe
You've not broken anything by adding a subview, instead the UITextField is capturing the touch ahead of the UITableViewCell. You can test this by tapping outside of the UITextField but within the bounds of the UITableViewCell and you'll see it does in fact still select as you would expect.
To get round this, you could subclass UITextField and add a UITableView property. Set the property when you instantiate the UITextField and add it to the cell.
amountField.tableView = tableView;
Then you'd need to override becomeFirstResponder in your subclass, and in the method get the row for the cell with the UITextField and then select it manually
- (BOOL)becomeFirstResponder
{
// Get the rect of the UITextView in the UITableView's coordinate system
CGRect position = [self convertRect:self.frame toView:self.tableView];
// Ask the UITableView for all the rows in that rect, in this case it should be 1
NSArray *indexPaths = [self.tableView indexPathsForRowsInRect:position];
// Then manually select it
[self.tableView selectRowAtIndexPath:[indexPaths objectAtIndex:0] animated:YES scrollPosition:UITableViewScrollPositionNone];
return YES;
}