Intereting Posts
Черный экран после запуска приложения Как нарисовать две параллельные полосы в UITableViewCell Как передать данные в другое представление Заключительный профиль, отправленный на устройство Как реализовать механизм состояния, основанный на событиях, где события генерируются самостоятельно? Автоматическое разбиение макета на iOS7, отлично работает на iOS8 Контекстная реклама PayPal и Parse Conflicting Get Toggle From Settings.bundle Открытие файла большого сына при запуске приложения, заставляющего длительное время запуска Сжатый и искаженный вид после поворота устройства Добавление разрыва строки в строку из plist в iOS «Подталкивает» соответствие UIInterpolatingMotionEffect? (т.е. доступ к «физике» на UIInterpolatingMotionEffect) IOS – текст преобразования nsstring в английской фонетической транскрипции Текст iOS7 UINavigationController pushViewController: анимированная спина к спине с анимацией блокирует основной поток Как получить метаданные с include_media_info?

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 } }