Ответ 1
UITextView
принимает протокол UITextInput
, который имеет свойство selectedTextRange
. Установите для свойства значение nil:
self.textView.selectedTextRange = nil;
Через некоторое время мне нужно снять выделение текста в UITextView. Как отменить выбор текста в UITextView?
EDIT: мне нужно делать программно.
UITextView
принимает протокол UITextInput
, который имеет свойство selectedTextRange
. Установите для свойства значение nil:
self.textView.selectedTextRange = nil;
Предыдущий ответ не сработал у меня, компилятор жалуется:
Отправка 'void *' в параметр несовместимого типа 'NSRange' (aka 'struct _NSRange')
Вместо этого мне пришлось использовать пустую NSRange
структуру:
[self setSelectedRange:(NSRange){ .location = 0, .length = 0 }];
Так он работает, и вы можете касаться везде, где хотите, в режиме просмотра, чтобы отменить выбор ранее выбранного текста:
На вашем UIViewController напишите эту функцию:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}