Как установить выделение в UITextView?

У меня есть UITextView который помещается внутри UITableViewCell . Чтобы выбрать содержимое внутри UITextView , я буду использовать следующий код.

 [UITextView select:self]; [UITextView setSelectedRange:NSMakeRange(start,length)]; 

Когда UITableView загружается, вызываются следующие методы

  1. numberOfRowsInSection:(NSInteger)section
  2. cellForRowAtIndexPath:(NSIndexPath *)indexPath
  3. heightForRowAtIndexPath:(NSIndexPath *)indexPath

Мой вопрос: где я должен разместить этот код, чтобы получить UITextView .

Спасибо за ваши ответы.

Вы должны поместить код в метод viewDidAppear . Сначала прокрутите целевую ячейку в виде, чтобы сделать ее видимой:

 scrollToRowAtIndexPath:atScrollPosition:animated: 

Затем возьмите ячейку, в которую вы хотите направить вход:

 cellForRowAtIndexPath: 

Теперь UITextView ячейку в ячейку вашего типа, возьмите UITextView , сделайте выделение и, наконец, придайте ей фокус.

Убедитесь, что вы внедрили

 <UITextFieldDelegate> 

Тогда будут называться следующие методы

 -(void) textFieldDidEndEditing:(UITextField *)textField { } -(void) textFieldDidBeginEditing:(UITextField *)textField { } 

Но вы должны установить

 textFiled.delegate = self; 

Если я правильно понял вашу проблему,

Если вы хотите сфокусировать textView при запуске, вам нужно поместить код внутри cellForRowAtIndexPath:(NSIndexPath *)indexPath потому что вы добавляете UITextView в UITableViewCell, а ячейка tableView создается / повторно используется внутри этих методов dataSource.

И если вы хотите, чтобы он сосредоточился на прослушивании строки, используйте

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

Надеюсь это поможет.