TextDocumentProxy не читает весь текстIOS

Программируем под IOS
Anonymous
TextDocumentProxy не читает весь текст

Сообщение Anonymous »

Я разрабатываю приложение для расширения клавиатуры, используя SwiftUI. В этом приложении мне нужно иметь возможность манипулировать текстом, введенным пользователем в поле ввода.
У меня есть класс KeyboardViewController, который расширяет UIInputViewController, и у него есть свойство textDocumentProxy для управления поле ввода. Я умею читать и обрабатывать короткие тексты. Также у меня нет проблем с вставкой или удалением текста. Однако, когда дело доходит до более длинных абзацев, я не могу прочитать весь текст.

Код: Выделить всё

final class KeyboardViewController: KeyboardInputViewController {

func readText() -> String {
return textDocumentProxy.documentContextBeforeInput ?? ""
}

func replaceText(_ input: String) {
let currentTextLength = textDocumentProxy.documentContextBeforeInput?.count ?? 0
textDocumentProxy.deleteBackward(times: currentTextLength)
textDocumentProxy.insertText(input)
}

func insertTextWithSpace(_ input: String) {
textDocumentProxy.insertText(" \(input)")
}
}
В настоящее время я использую textDocumentProxy.documentContextBeforeInput для чтения текста, но он извлекает только последнее предложение. Я также пробовал переместить курсор в начало абзаца и читать предложение за предложением с помощью documentContextAfterInput, но и этот подход не работает.
Как эффективно читать длинные тексты? п>

Подробнее здесь: https://stackoverflow.com/questions/785 ... whole-text

Вернуться в «IOS»