2013-08-12 1 views
1

Я создал пользовательскую ячейку, которая помещает UITextField в каждую строку UITableView. То, что я хотел бы сделать, это включить UITextField для определенной строки (т. Е. Активировать курсор в этом текстовом поле), когда пользователь нажимает в любом месте ячейки.Нужно включить UITextField в строке UITableView, когда ячейка выбрана в iOS

У меня есть следующий метод, где я пытаюсь сделать это:

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    [_cell.textField setUserInteractionEnabled:TRUE]; 

} 

Однако, это не работает. Может ли кто-нибудь увидеть, что я делаю неправильно?

ответ

1

Вы находитесь на правильном пути размещения этого внутри didSelectRowAtIndexPath :. Однако включение пользовательского взаимодействия, включенного в текстовое поле, означает, что пользователю будет разрешено взаимодействовать с объектом, если они попытаются. Вы ищете startFirstResponder.

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; 
    [cell.textField becomeFirstResponder]; 
} 
+0

Что делать, если у меня есть несколько текстовых полей в строке и вы хотите определить, какой из них ближе всего подходит пользователю? – Katlu

1

Попробуйте этот код:

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    [_cell.textField becomeFirstResponder]; 
} 
1

Что это такое _cell iVar? Вы его где-то устанавливаете?

Я думаю, что вы пытаетесь сделать это:

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
    [cell.textField becomeFirstResponder]; 
} 

Обратите внимание, что в этом случае вы получаете ячейку для повернутой indexPath.

А также, только для информации, это модель в Objective-C, чтобы использовать булевы в YES или NO, вместо true или false.

 Смежные вопросы

  • Нет связанных вопросов^_^