UITextInput возвращает нулевую позицию только в iOS 9
Я пытаюсь получить прямоугольник определенного диапазона (UITextRange
). Проблема в том, что код отлично работает с iOS 10
и я получаю диапазон и прямоугольник. К сожалению с iOS 9
линия:
if let rangeStart = textInput.position(from: textInput.beginningOfDocument, offset: location)
возвращается nil
let location = self.textView.firstRect(for: range)
extension NSRange {
func toTextRange(textInput:UITextInput) -> UITextRange? {
if let rangeStart = textInput.position(from: textInput.beginningOfDocument, offset: location),
let rangeEnd = textInput.position(from: rangeStart, offset: length) {
return textInput.textRange(from: rangeStart, to: rangeEnd)
}
return nil
}
}
1 ответ
textView.isSelectable = true
Эта строка необходима в iOS 9 (не обязательно в iOS 10).