Предоставлять предложения всякий раз, когда пользователь вводит «#» в UITextField - PullRequest
0 голосов
/ 27 октября 2019

Я хотел бы создать функцию хэштега (аналогичную той, которая есть в твиттер-приложении );если пользователь вводит «#» в текстовом представлении, должно появиться представление коллекции с предложениями. В этом представлении коллекции пользователь видит рекомендуемые хэштеги , которые соответствуют тому, что он в данный момент печатает. Если пользователь нажимает на такой хэш-тег, он должен автозаполнить хэш-тег.

Пожалуйста, знайте, что мне не нужна помощь с представлением сбора, но с определением, когда представление сбора предложений должно

В частности, я не знаю, как реализовать следующие вещи:

  • определить, когда пользователь вводит '#'
  • заменить текст «#», который пользователь в настоящее время печатал, выбранным предложением
  • определить, когда пользователь заканчивает ввод хэш-слова, так что представление коллекции предложений может быть отклонено
  • определяет, когда пользователь редактирует хэштег-слово, чтобы снова можно было просматривать представление набора предложений.

Пример :

  • ПользовательТипы «# App»
  • Пользователь нажимает на предложение хэштега «# Apple»
  • «# App» внутри текстового представления заменяется на «# Apple»
  • представление коллекции с предложенными хэштегами должно исчезнуть

Hashtag suggestion example

Я знаю, что это, вероятно, сделано с

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool

, но я не знаю как. Я чувствую, что это будет очень болезненно для реализации.

Если кто-нибудь знает, как я мог начать с этим или реализовал подобную функцию, я был бы очень благодарен за помощь!

...