У меня есть аналогичная настройка, и кажется, что стал стал первым, и работает нормально.
Моя пользовательская ячейка:
@interface CustomCell : UITableViewCell
{
IBOutlet UITextField *costField;
}
И метод делегата из класса контроллера:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString* CellTableIdentifer = @"CellTableIdentifer";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellTableIdentifer];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
NSUInteger row = [indexPath row];
ReceiptItem *receiptItem = [models objectAtIndex:row];
if (receiptItem == justAddedItem)
{
[cell.costField becomeFirstResponder];
justAddedItem = nil;
}
justAddedItem устанавливается, когда пользователь нажимает кнопку, чтобы добавить новую строку в таблицу.