Swift 4: пользовательский словарь автозамены - PullRequest
0 голосов
/ 29 ноября 2018

В настоящее время я разрабатываю приложение для iOS на Swift 4. Я хотел бы написать собственный движок автозамены, в котором я использую свои собственные слова (которые собираются через вызов API).Например, на следующем рисунке я хотел бы иметь возможность выбрать все слова, которые предлагаются на панели над клавиатурой.Например, если мой пользовательский словарь - [«курица», «чили», «чикаго», «чашка»], я бы хотел, чтобы слова «курица», «чили» и «чикаго» отображались на панели предложений, еслиЯ набираю "chi".

enter image description here

Я искал на разных веб-сайтах, и единственное решение, которое я нашел, было разработать пользовательскую клавиатуру, а затем использоватьUILexicon.Я почти уверен, что это решение будет работать, но я чувствую, что это будет пустая трата времени, так как меня интересует только пользовательская система автозамены и мне не нужно менять внешний вид и поведение клавиатуры по умолчанию.
Таким образом, я хотел бы знать, было ли более простое решение изменить словарь, используемый системой автозамены по умолчанию, или был ли способ создать пользовательскую клавиатуру, наследующую непосредственно от клавиатуры по умолчанию.

Заранее спасибо за ваши ответы

1 Ответ

0 голосов
/ 29 ноября 2018

Вы можете искать слова в своем словаре, которые начинаются со слова, набранного до сих пор:

let array =  ["chicken", "chili", "chicago", "cup"]

let word = "chi"

let filtered = array.filter { $0.hasPrefix(word) }

print(filtered)  //["chicken", "chili", "chicago"]

AFAIK, вы не можете ни изменить поведение словаря iOS, ни кормить его своимсобственные предложения.Вы можете создать плавающее представление, которое будет выглядеть как панель предложений (некоторые приложения делают это), и установить autocorrectionType в .no для текстового поля / представления в вашем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...