2011-02-06 12 views

Respuesta

16

NSSearchField es compatible con el mecanismo de acción objetivo, por lo que simplemente engancharlo a un objetivo/acción. Por ejemplo, supongamos que ha declarado lo siguiente acción en su aplicación delegue:

- (IBAction)searchAnswer:(id)sender; 

En Interface Builder, pulse Ctrl y arrastre el campo de búsqueda para el objeto delegado de la aplicación y elegir la acción searchAnswer:. En su implementación, use -stringValue para obtener el texto escrito por el usuario en el campo de búsqueda, p.

- (IBAction)searchAnswer:(id)sender { 
    NSLog(@"search answer: %@", [searchField stringValue]); 
} 

Tenga en cuenta que, de forma predeterminada, el campo de búsqueda envía la acción cuando el usuario hace una pausa/deja de escribir también. Si desea que envíe la acción solo cuando el usuario escribe Ingrese, elija la casilla Sends Whole Search String en la ventana del inspector de atributos del campo de búsqueda.

+0

Gracias! Algunas cosas son demasiado simples de comprender, supongo ... – Flafla2

+3

@ Flafla2: El objetivo/acción está en un nivel más alto que los eventos de la tecla o del mouse. Un campo puede enviar su acción incluso si el usuario no tiene tecla Enter, o no tiene teclado. Un botón puede enviar su acción incluso si el usuario no tiene mouse. Al usar el objetivo/acción, puede recibir la acción independientemente de los dispositivos de interfaz que el usuario tenga o no tenga. –

Cuestiones relacionadas