Pregunta

Me gustaría tener un valor predeterminado para un NSTextField (o NSSearchField) y se elimine este valor predeterminado cuando el usuario hace clic en él y se retrasa cuando la vista de texto pierde el enfoque y el campo de texto está vacío. Como esto:

http://imgur.com/T03vE

Parece que debería extender NSSearchField Pero me preguntaba si había una solución más fácil.

¿Fue útil?

Solución

Esta funcionalidad está de hecho incorporada; No hay necesidad de subclase o extender de otra manera NSSearchField.

Ese es el campo cadena de marcador de posición. Puede configurarlo en IB o mediante una llamada a setPlaceholderString:. Observe que este es un método de NSTextFieldCell. Un NSTextField es la "cara pública" de su celda y tiene métodos de cobertura para casi toda la funcionalidad de la célula. En este caso, sin embargo, debe enviar el mensaje directamente a la celda:

[[field cell] setPlaceholderString:@"Jumbo jets"];

Ya que NSSearchField y NSSearchFieldCell heredar de NSTextField y NSTextFieldCell, respectivamente, el proceso es el mismo para ellos.

Otros consejos

Establezca la cadena del soporte de lugar en el nstextfieldcell de nstextFields usando usando

[[textField cell] setPlaceholderString:@"String Matching"];

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