Пользовательский TableViewCell с TextField и первым респондентом

У меня есть настраиваемая ячейка TableView, содержащая TextField, и я хочу, чтобы она стала первым респондентом, как только отобразится представление, но [textcell.textfield статьFirstResponder] не работает. Я знаю это, потому что это настраиваемая ячейка в другом классе, и я даже пробовал ее там, и это не сработало. Кто-нибудь знает, как это осуществить?

Спасибо...


person Xcoder    schedule 15.07.2009    source источник


Ответы (2)


У меня аналогичная настройка, и кажется, что сталаFirstResponder работает нормально.

Моя пользовательская ячейка:

@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 устанавливается, когда пользователь нажимает кнопку, чтобы добавить новую строку в таблицу.

person Dara Kong    schedule 29.08.2009

person    schedule
comment
Чтобы повысить качество сообщения, укажите, как / почему ваш ответ решит проблему. - person Mick MacCallum; 03.10.2012