NSTextField
(またはNSSearchField
) の既定値を設定し、ユーザーがクリックしたときにこの既定値を削除し、テキスト ビューがフォーカスを失い、テキスト フィールドが空になったときに元に戻すようにしたいと考えています。このような:
拡張する必要があるようにNSSearchField
思えますが、もっと簡単な解決策があるかどうか疑問に思っていました。
NSTextField
(またはNSSearchField
) の既定値を設定し、ユーザーがクリックしたときにこの既定値を削除し、テキスト ビューがフォーカスを失い、テキスト フィールドが空になったときに元に戻すようにしたいと考えています。このような:
拡張する必要があるようにNSSearchField
思えますが、もっと簡単な解決策があるかどうか疑問に思っていました。
この機能は実際に組み込まれています。をサブクラス化または拡張する必要はありませんNSSearchField
。
これは、フィールドのプレースホルダー stringです。IB で、または への呼び出しを介して設定できますsetPlaceholderString:
。これは のメソッドであることに注意してくださいNSTextFieldCell
。AnNSTextField
はそのセルの「パブリックな顔」であり、セルのほぼすべての機能をカバーするメソッドを備えています。ただし、この場合は、メッセージをセルに直接送信する必要があります。
[[field cell] setPlaceholderString:@"Jumbo jets"];
NSSearchField
とはそれぞれとNSSearchFieldCell
から継承されるため、プロセスは同じです。NSTextField
NSTextFieldCell
NSTextFieldsのNSTextFieldCellにプレースホルダー文字列を設定するには、
[[textField cell] setPlaceholderString:@"String Matching"];