У меня есть 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
помещает точку вставки вверху.