Pregunta

Lo que estoy tratando de hacer es replicar el NSTokenField como el UITextField que se ve en la aplicación Correo y en la aplicación Mensajes (escribe un contacto y aparece sugerencias).

Tengo el autocompletado funcionando perfectamente, cuando escribes un UITextField, aparece un UITableView que muestra las coincidencias que puede encontrar en una matriz, cuando haces clic en uno, lo agrega al UITextField. Estoy muy contento con esto hasta ahora.

El problema que me encontré ahora es hacer que los controles se vean como los de las aplicaciones nativas. Después de todo, ¡el diseño lo es todo!

Mi primera pregunta es ¿cómo puedo agregar esa imagen sombreada a la UITableView? Parece que está hundido detrás del UITextField.

En segundo lugar, sé que voy a tener que subclasificar el UITextField para que se vea como me gustaría, pero no tengo idea de por dónde empezar. ¡Algunos punteros o una muestra serían geniales!

Por último, creo que necesito crear un UIButton personalizado con espacio para texto y el degradado azul y luego agregarlo al UITextField. El mismo problema que con el UITextField, no está realmente seguro de cómo subclasificar el UIButton (qué métodos necesita dibujar y demás) o cómo agregarlo al UITextField de tal manera que al hacer clic en la tecla Retroceso en el UITextField, el botón se resaltará y luego se eliminará si se vuelve a hacer clic en la tecla de retroceso (exactamente cómo funciona NSTokenField).

He incluido una imagen solo para que puedas ver de lo que estoy hablando: http://www.thermoglobalnuclearwar.com/stuff/mail.jpg

He echado un vistazo al proyecto Joe Hewitts Three20, pero no pude verlo. Me gustaría comenzar de manera muy simple y entender todo lo que está pasando, en lugar de simplemente arrastrar su código al mío y no tener idea de lo que está pasando.

Cualquier ayuda es muy apreciada!

Gracias, Tom.

¿Fue útil?

Solución 2

Bien, tengo la sombra trabajando debajo de UITextField, y he agregado el " Para: " etiqueta para ello. ¡Se ve genial!

Así que lo último es el control NSToken azul. Empecé a pensar que lo más fácil es simplemente subclasificar un UIView y dibujar el degradado azul y etiquetarlo dentro. Lo que me lleva a algunas preguntas más:

Encontré esto: http://github.com/leonho/iphone-libs / tree / master que dibuja una bonita vista redondeada y la he adaptado para agregarle texto en lugar de un número, lo que no sé cómo hacer es dibujar un gradiente en lugar de un bloque sólido de color.

Después de eso, solo es cuestión de agregar las vistas redondeadas al UITextField, mover el cursor y averiguar cómo eliminar las vistas cuando el cursor llega a ellas, pero lo abordaré cuando sea necesario.

Otros consejos

¿Ha considerado utilizar la biblioteca Three20 ? Contiene un control que creo que hace lo que quieres (TTPickerTextView).

Como indica la descripción del sitio web

  

TTPickerTextField es un campo anterior al campo. . A medida que escribe, busca una fuente de datos, y   agrega burbujas en el flujo de texto cuando elige una opción de escritura anticipada. Yo uso esto en   TTMessageController para seleccionar los nombres de los destinatarios del mensaje.

Como mínimo, el código fuente puede darle algunos consejos sobre cómo lograr los diversos efectos visuales.

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