#ios
#iOS
Вопрос:
Я использую панель поиска, и после ввода как минимум трех символов я показываю список TableView с возможными словами из словаря. Пользователь может нажать на слово в этом списке, чтобы выбрать нужное слово.
Это работает нормально, пока iOS не показывает свое собственное предложение (показано синим цветом под полем ввода).
Пример: я ввожу «autof», и TableView показывает мне две записи (на немецком языке 1. «Auto fahren» и 2. «Autofahrer»).
iOS покажите мне слово «автофокусировка» синим цветом с буквой «X», чтобы удалить его.
Если я выберу вторую запись в этом состоянии, я хочу выполнить поиск по «Autofahrer», но метод делегирования сообщает мне, что поисковое слово изменилось на «автофокусировка». Теперь, перед обработкой выбора TableView, выполняется новый поиск возможных слов для «автофокусировки», в результате чего получается пустой список TableView, и после этого выполняется предыдущий выбор с индексом = 1. Конечно, это приводит к сбою в пустом списке!
Мне вообще не нужны предложения iOS, только выбор из списка. Как я могу сказать моей программе, чтобы она не показывала предложения на моей панели поиска?
Ответ №1:
Установите autocorrectionType = UITextAutocorrectionTypeNo
для UITextField
или UITextView
, поскольку они оба реализуют UITextInputTraits
протокол. UISearchBar
Реализует UITextField
для вас и предоставляет это свойство.