Pregunta

Con el iPhone SDK 3.0, deseo permitir el ingreso de texto con opciones de finalización (opcionales) que aparecen a medida que se produce la escritura, es decir, también permite el ingreso de formato libre. Como tal, estoy usando una barra UISearch (que tiene los eventos de cambio de texto) y un UISearchDisplayController para presentar las opciones.

El problema es que quiero que el botón HECHO diga HECHO y no BÚSQUEDA, sin embargo no puedo encontrar una manera de establecerlo. Claramente, siento que me falta algo, o Interface Builder de la API del SDK tendría alguna propiedad que configurar.

He visto otras aplicaciones (en la tienda) que han logrado el resultado que quiero (entrada de formato libre, finalización, botón HECHO) así que tal vez haya un enfoque alternativo que me esté perdiendo. Gracias de antemano por cualquier puntero.

¿Fue útil?

Solución

+1 Para la respuesta de wal, pero para estar seguro, y reaccionar adecuadamente a los posibles cambios en la jerarquía de vistas en futuras versiones, considere usar este código:

NSArray *subviews = [<searchBar> subviews] ;
for(id subview in subviews) {
    if([subview isKindOfClass:[UITextField class]]) {
        [(UITextField*)subview setReturnKeyType:UIReturnKeyDone];
    }
}

Otros consejos

Simplemente tuve que implementar exactamente esto y no pude encontrar ninguna buena respuesta en ningún lugar ... así que pensé que podría proporcionarte una idea. Pasar por el depurador y buscar en UISearchBar es bastante obvio. Acabo de encontrar el UITextView dentro de las subvistas de uisearchbar y en ese momento, deberías poder establecer el tipo de tecla de retorno en ese UITextView una vez que lo manejes.

Psuedocode- UISearchBarObject.SubViewAtIndexOfUITextField.ReturnKeyType = UIReturnKeyType.Done

Ponga este código en viewDidLoad.

- (void)viewDidLoad {
...

NSArray *subviews = [self.searchDisplayController.searchBar subviews] ;
UITextField *searchField = [subviews objectAtIndex:([subviews count]-2)];
[searchField setReturnKeyType:UIReturnKeyDone];

...
}

Extraño, UISearchBar debería admitir la interfaz UITextInputTraits como UITextField y UITextView do (no dice que lo haga en la documentación) y, por lo tanto, debería tener returnKeyType . Lo intentaría de todos modos.

Si no lo hace, tal vez uno de los objetos que utiliza UISearchBar tenga esta opción.

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