inputAccessoryView, как почта iOS

#ios #uikit #uitextfield #uikeyboard #inputaccessoryview

Вопрос:

Почта в iOS 15 имеет новый интерфейс ввода, который объединяет предложения по вводу текста с другими кнопками действий, такими как форматирование текста, вложения и т.д. По умолчанию предложения по вводу текста отображаются со стрелкой в правом краю представления:

Ввод предложений   стрелка по правому краю

Который при нажатии раскрывает другие действия:

Другие выявленные действия

Я проверил документацию inputAccessoryView, а также просмотрел сеансы WWDC 2021, но не могу найти ничего нового в этом отношении. Каков был бы наилучший способ достичь этого?

Ответ №1:

Первая идея, которая приходит в голову: создайте свой собственный аналогичный аксессуар для ввода. Вы можете использовать системный API UITextChecker для создания предложений, и, поскольку вы сами создаете представление, не должно возникнуть никаких проблем с добавлением стрелки и переключением на другой интерфейс.

Изменить: чтобы быть более ясным, это включает в себя прослушивание изменений в набранном тексте с помощью вызова делегата, например:

 textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String)  

Разделите набранный текст, чтобы вы могли выделить текущее набранное слово и передать это последнее слово в UISpellChecker.