В приложении Swift, которое я создаю, пользователь может ввести текст в текстовое представление, а затем выполнить поиск определенной строки внутри него, как и в Pages (и многих других).Прокрутите до определенной части UITextView в Swift
У меня есть index
символа, который они ищут как целое (т. Е. Они находятся на третьем экземпляре «привет» в массивном текстовом блоке, который они набрали, и я знаю, что это 779-я буква текста view), и я пытаюсь автоматически прокручивать текстовое представление до строки, в которой они находятся, так что она выскакивает (как в Pages).
Я пытаюсь перейти к применимой строке с этой командой:
self.textview.scrollRangeToVisible(NSMakeRange(index, 0))
, но она никогда не прыгает в нужном месте (иногда слишком далеко вниз, иногда слишком далеко вверх), часто в зависимости от размера экрана , поэтому я знаю, что index
не принадлежит прямо там.
Как я могу правильно разрешить пользователю переходить к определенной строке в текстовом виде, заставляя текстовое представление прокручиваться до определенного символа?
Спасибо за ваш ответ! Одна проблема: в первой строке я получаю 'Не могу вызвать инициализатор для типа 'Range' с аргументом списка типа '(start: Index, end: String.CharacterView.Index)''. Я должен отметить, что я использую Swift 3. –
owlswipe
@JohnRamos просто попробуй буквально, а вместо Range используйте что-то вроде textView.text.startIndex ..
Нет 'advancedBy' в Swift 3 !! – owlswipe