Я разработал пользовательское расширение клавиатуры, и я могу правильно ввести текст. Однако я не могу понять, когда включить капитализированную клавиатуру и нижний регистр. Это происходит главным образом потому, что следующие функции неправильно возвращают уже введенный текст до/после. Иногда они возвращают нуль, иногда только последние несколько символов и т. Д. Много раз эти методы даже не называются вообще.Автоматическая заглавная строка расширения пользовательской клавиатуры iOS
- (void)textWillChange:(id<UITextInput>)textInput
- (void)textDidChange:(id<UITextInput>)textInput
я выяснил следующие сценарии, когда мне нужно включить свою заглавную клавиатуру, чтобы иметь:
- Длина текста = 0 или ноль
- Когда период вводится, мне нужно добавить пробел и верхняя клавиатура
- Когда курсор находится в месте, где символ перед курсором является периодом или пробелом, а до этого является периодом.
- Когда пользователь выбрал весь текст «Select All»
- Когда пользователь выбрал весь текст и удалил все
- Когда забоя пользователя и новый символ перед курсором либо период или пробел и перед тем, что это период ,
- Когда пользователь вставляет текст, а символ перед курсором - это период или пробел, а до этого - период.
Также, если это возможно, можно также получить последнее введенное «цельное» слово, которое я могу использовать для поиска в словаре, например, для интеллектуального ввода текста?
Я прочитал документ яблока, где говорится, что пользователи ожидают Заглавные автоматически, поэтому я уверен, что это должно быть возможно
Вы нашли решение для этого? – Sekhar