Pregunta

Quiero implementar la funcionalidad de búsqueda avanzada de modo que si un determinado texto se escribe en la barra de búsqueda, la lista de contenidos en UITableView debe ser filtrado basado en la búsqueda y luego las ocurrencias de texto de búsqueda hay que destacar? Por favor, dame algunas ideas?

¿Fue útil?

Solución

Uso NSAttributedString ... Encuentra UIControllers que atraen NSAttribute cadena porque el apoyo doesnot UILabel, UITextView NSAttributedString ...

Obtener el controlador aquí: https://github.com/AliSoftware / Ali-cacao-Clases / árbol / maestro / OHAttributedLabel

PS:. Si va a distribuir un iOS6-única aplicación, como UILabel ahora son compatibles con NSAttributedString, se debe utilizar UILabel directamente en lugar de OHAttributedLabel como ahora es compatible de forma nativa por el sistema operativo

Otros consejos

no he probado algo como esto a mí mismo, pero mi enfoque sería el siguiente:

  1. Poner en práctica el método en su textField:shouldChangeCharactersInRange:replacementString: objeto UITextFieldDelegate. Este método será llamado para cada carácter que se introduce o se elimina de su textField.

  2. En el método delegado anterior, basado en el contenido del texto actual en el campo de texto, realice su búsqueda y devolver una lista (array) de los resultados.

  3. Tome la matriz y para cada resultado de la construcción de una costumbre UITableViewCell. Esta célula debe tener un UIWebView cuyo texto es un extracto de su búsqueda.

  4. Para el resaltado, es necesario realizar una búsqueda de reemplazar en el texto que está a punto de hacer en la vista Web para encontrar la cadena de búsqueda, por ejemplo foo por ejemplo, y reemplazarlo con <b>foo</b> o cualquier otro formato HTML es posible que desee aplicar. Puede utilizar la API estándar NSString - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement para hacer el hallazgo-reemplazar.

Espero que esto ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top