2

NSTextField(またはNSSearchField) の既定値を設定し、ユーザーがクリックしたときにこの既定値を削除し、テキスト ビューがフォーカスを失い、テキスト フィールドが空になったときに元に戻すようにしたいと考えています。このような:

http://imgur.com/T03vE

拡張する必要があるようにNSSearchField思えますが、もっと簡単な解決策があるかどうか疑問に思っていました。

4

2 に答える 2

13

この機能は実際に組み込まれています。をサブクラス化または拡張する必要はありませんNSSearchField

これは、フィールドのプレースホルダー stringです。IB で、または への呼び出しを介して設定できますsetPlaceholderString:。これは のメソッドであることに注意してくださいNSTextFieldCell。AnNSTextFieldはそのセルの「パブリックな顔」であり、セルのほぼすべての機能をカバーするメソッドを備えています。ただし、この場合は、メッセージをセルに直接送信する必要があります。

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

NSSearchFieldとはそれぞれとNSSearchFieldCellから継承されるため、プロセスは同じです。NSTextFieldNSTextFieldCell

于 2011-12-05T20:03:50.783 に答える
2

NSTextFieldsのNSTextFieldCellにプレースホルダー文字列を設定するには、

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

于 2011-12-05T20:05:45.127 に答える