2011-10-13 17 views
7

Lo que la mayoría de la gente entiende por autocompletar es que la aplicación tiene una vista de texto/barra de búsqueda/lo que acepta la entrada del usuario. Adjunto a este componente se encuentra una vista de tabla que se actualiza constantemente en función de la entrada del usuario. Este es un tema bien investigado y ahora es relativamente fácil de implementar gracias al controlador UISearchDisplay.iOS función de autocompletar

Ahora aquí es lo que quiero. Cuando el usuario está escribiendo texto en el UISearchBar, no habrá searchdisplaycontroller. En cambio, quiero que la aplicación haga algo como Google Instant en los escritorios. Es decir, si escribo "Goog", la barra de búsqueda debería mostrar Goog * le. Por lo tanto, la sugerencia "le" debe estar en una fuente más clara que el resto de la cadena de entrada de usuario Google. Así que no quiero una función de sugerencia automática, quiero una función de autocompletar.

¿Alguna idea sobre cómo puedo hacer esto?

Gracias!

Respuesta

2

Yo no lo he probado, pero aquí hay un control que aparece al hacer lo que usted está pidiendo:

http://cocoacontrols.com/platforms/ios/controls/doautocompletetextfield

+0

Brilliant! Déjame probarlo rápidamente. Aceptaré tu respuesta de inmediato si funciona ... ¡Gracias, Bryan! – Neo

+0

Gracias Bryan. Esto hace exactamente lo que quiero. Solo tengo que averiguar si puedo implementar algo similar para una barra de búsqueda o si quiero cambiar mi barra de búsqueda al campo de texto doautocomplete. – Neo

+0

@Neo Pruebe mi PJTernarySearchTree como la fuente de datos para doautocompletetextfield: https://github.com/peakji/PJTernarySearchTree – PeakJi

6

Como alternativa, puede utilizar esta subclase UITextField (inspirado en DOAutocompleteTextField):

https://github.com/hoteltonight/HTAutocompleteTextField

Tiene algunas características más y se desarrolla activamente. El ejemplo muestra cómo usar una matriz como fuente de datos para el texto de autosugestión.

+0

Se ve bien. Lo verificaremos alguna vez. Gracias @jonsibley – Neo

Cuestiones relacionadas