2011-01-22 2 views
3

Sur l'iPhone UITextField peut avoir un clearButtonMode défini pour afficher un petit bouton d'effacement (X) à la fin d'une entrée de texte. De même, sur le Mac le NSSearchField a un joli bouton clair à la fin. Ma question est - est-il un moyen d'activer ceci sur un NSTextField normal?NSTextField Clear Button

+1

Pourquoi voulez-vous cela? Ce n'est pas normal pour les champs de texte sans recherche sur le Mac. –

+0

Un exemple: Vous utilisez textField pour l'entrée de l'utilisateur, et sera modifié à la volée par l'utilisateur. Le champ de texte est également dans un scrollView parce que la taille est un problème. Pour que l'utilisateur puisse effacer le texte, il doit utiliser Command + a keys, puis la touche backspace. Avoir un bouton enregistre toutes les frappes. – markhunte

+0

Pourquoi placer un champ de texte dans une vue déroulante? Les champs de texte sont pour de courtes parties de texte, habituellement seulement des lignes simples. Si le texte peut être si long que l'utilisateur aura besoin de barres de défilement, vous devriez utiliser une vue de texte (à l'intérieur d'une vue déroulante) à la place. –

Répondre

6

Il n'y a rien de intégré; il suffit d'utiliser un champ de recherche et désactivez la loupe:

[[button cell] setSearchButtonCell:nil]; 
1

Je cherchais la même chose pour une NSTextField plusieurs lignes, l'autre jour, avec pas de chance si terminé à l'aide d'un bouton de réglage sans bordure et pour basculer avec une petite image. ensemble très proche du NSTextField (pas sur elle)

et:

- (IBAction)clearTextViewTex:(id)sender{ 

[textField performSelector:@selector(selectAll:)]; 
[textField performSelector:@selector(delete:)];  

} 

En procédant ainsi, a également retenu les fonctions undo, sans me avoir à écrire de choses NSUndoManager.