У меня есть UITextView, который по умолчанию недоступен для редактирования, поэтому детекторы данных показывают адреса и номера телефонов. Я хотел бы иметь возможность позволить пользователю одним нажатием в любом месте текстового представления установить его для редактирования и поставить точку вставки там. К сожалению, я не могу получить точку вставки, и одно касание позволяет просто редактировать текстовое представление (например, в Notes.app создайте новую заметку с URL-адресом.)
Я вложил в UITextView подкласс и переопределил - (void)touchesBegan:withEvent:
, чтобы он проверял, можно ли редактировать текстовое представление. Если это не так, я включаю редактирование.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
if (!self.editable)
{
self.editable = YES;
}
[super touchesBegan:touches withEvent:event];
}
Я не уверен, однако, куда идти дальше, так как простой вызов becomeFirstResponder
ставит точку вставки вверху.