6
votes

Mise en œuvre de l'autocomplete dans iOS

Je crée une application dans laquelle je dois mettre en œuvre une application automatique lorsqu'un utilisateur saisit une entrée de texte, avec les mots de classement les 10 les plus les plus proches / les plus élevés apparaissant sous le champ de texte.

On m'a donné a Assez grosse liste d'environ 80 000 mots et leur "priorité" respective forte> - un nombre qui détermine la manière dont ils apparaissent dans l'auto-emploi en fonction de la taille du nombre, comme celui-ci: P>

"transport international";19205
"taxi";18462
"location de voitures";18160
"police";18126
"formation";17858


0 commentaires

4 Réponses :


6
votes

Vous voudrez peut-être utiliser ce repo HTUutocompleetextField , solution parfaite.


2 commentaires

@ user1394965 Ce repo peut être ce que vous voulez.


Essayez ma pagesterrySearchTree comme source de données pour HTUUTOCOMPOMPLETETEXFIELD: Github.com/peakji/pjeakji/pjeakji/pjewnearySearchtree



2
votes

https://github.com/tarasroshko/trAutocompreview

juste conforme trautocompleteItemsSource protocole et c'est tout. Le protocole est conçu avec l'esprit ASYNC en tête. Application de démonstration et exemple trgglemapapsAutocompleteItemsSource devrait grandement vous aider avec elle.


0 commentaires

7
votes

Si vous préférez quelque chose d'autocomplete, mais est une sous-classe directe de Uitextfield, alors MLPAutocompleetextField peut vous intéresser .

MLPAutoCompleetEtTextField Fonctionnement En demandant simplement à son DataSource Autocomplecte pour un éventail de suggestions d'autocomplete chaque fois que le texte dans la Textfield change. Il peut même trier automatiquement les mots de manière à ce que ceux qui se rapprochent de ce que l'utilisateur saisit apparaîtra en haut de la liste d'autocomplètes (à l'aide d'un Levenshtein Distance algorithme). Les suggestions d'autocomplete peuvent être des chaînes simples ou des objets qui implémentent le protocole MLPAutocompéionObject.

Conseil: Pour un grand jeu de données de termes autocompéqués, vous voudrez probablement rompre votre liste en fonction de lettres de départ. (Exemple: lorsque l'utilisateur entre dans la lettre F, vous donnez uniquement une liste de mots qui commencent avec f.)

MLPAutoCompleTetTextField peut résoudre efficacement plusieurs milliers de suggestions dans une durée raisonnable et ne bloquera jamais l'interface utilisateur pendant qu'il trie.

Pour le moment, des suggestions pondérées (qui remplacent le tri par défaut) ne sont pas possibles, mais c'est une fonctionnalité prévue.


0 commentaires

0
votes

Ceci Link a bien fonctionné pour moi. Selon votre code, ne manquez pas la différence entre uitextfield et uitexview .

Pas de bibliothèques supplémentaires, juste une personnalisation facile utableview et de recherche.


0 commentaires