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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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