Je souhaite implémenter une fonctionnalité de recherche avancée de sorte que si un texte particulier est tapé dans la barre de recherche, la liste des contenus de UITableview doit être filtrée en fonction de la recherche et les occurrences de recherche doivent être surlignées. S'il vous plaît donnez-moi des idées?Mise en œuvre de la recherche avancée dans l'iphone?
Répondre
Utilisez NSAttributedString ... Trouvez UIControllers qui attirent NSAttribute cordes parce UILabel, UITextView doesnot NSAttributedString support ...
Obtenez le contrôleur ici: https://github.com/AliSoftware/Ali-Cocoa-Classes/tree/master/OHAttributedLabel
PS: si vous prévoyez de distribuer un iOS6- Seule l'application, comme UILabel supporte désormais NSAttributedString, vous devez utiliser UILabel directement à la place de OHAttributedLabel car il est maintenant supporté nativement par le système d'exploitation.
Je n'ai pas essayé quelque chose comme moi-même, mais mon approche serait la suivante:
implémentez la méthode
textField:shouldChangeCharactersInRange:replacementString:
dans votre objetUITextFieldDelegate
. Cette méthode sera appelée pour chaque caractère entré ou supprimé de votre zone de texte. Dans la méthode de délégation ci-dessus, basée sur le contenu du texte actuel dans TextField, effectuez votre recherche et renvoyez une liste (tableau) de résultats.Prenez le tableau et pour chaque résultat, créez un UITableViewCell personnalisé. Cette cellule doit avoir un UIWebView dont le texte est un extrait de votre résultat de recherche. Pour la surbrillance, vous devez effectuer une recherche-remplacement dans le texte que vous êtes sur le point de rendre dans le WebView pour trouver la chaîne de recherche, disons foo par exemple, et remplacez-la par
<b>foo</b>
ou toute autre mise en forme HTML souhaitera peut-être postuler. Vous pouvez utiliser l'API NSString standard- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
pour effectuer la recherche/remplacement.
Espérons que cela aide.
J'ai d'abord essayé avec UIwebView mais cela prend beaucoup de temps à charger, donc je suis passé à ça. Non c'est beaucoup plus rapide et ça a l'air génial .. – KingofBliss
- 1. mise en œuvre de la recherche facebook dans l'application
- 2. Question de recherche de texte sur la mise en œuvre
- 3. Mise en œuvre de la recherche affinée - ASP.NET MVC
- 4. Recherche avancée dans Rails
- 5. Magento: modifier la disposition de recherche avancée
- 6. Recherche avancée
- 7. mise en œuvre de la manière REST
- 8. 'Recherche Avancée' Page
- 9. mise en œuvre de la carte ordonnée
- 10. Mise en œuvre de recherche en largeur tcl
- 11. Mise en œuvre de la conformité LDAP
- 12. Recherche avancée option Recherche Sharepoint
- 13. état dans la mise en œuvre XPath
- 14. Erlang Mise en œuvre d'un algorithme de recherche d'étoiles
- 15. recherche avancée avec mysql
- 16. Aide MySQL avancée de recherche
- 17. mise en œuvre de la mise en œuvre de la classe polynimial
- 18. La mise en œuvre de l'arbre rouge-noir en C#
- 19. mise en œuvre de pagerank en Java
- 20. Etonnamment mise en page avancée en CSS
- 21. journalisation - modification de la mise en œuvre?
- 22. la mise en œuvre de l'instruction
- 23. Mise en œuvre automatique de la boucle
- 24. Mise en œuvre de l'indexeur de fichier
- 25. Mise en œuvre de la modération communautaire
- 26. Mise en œuvre de la canalisation
- 27. Mise en œuvre de la pile C++
- 28. mise en œuvre GetHashCode
- 29. Mise en œuvre de la passerelle USSD
- 30. mise en œuvre de la fonction strstr()
Je ne peux pas trouver des contrôleurs pour chaîne NSAttributed –
Essayez avec cet exemple de code .. https://github.com/AliSoftware/Ali-Cocoa-Classes – KingofBliss
N'oubliez pas d'ajouter le CoreText.framework. –