ここにココアの初心者がいます: そして、私は最初にすべての本当に難解なものに取り掛かっているようです. クリックするとデフォルトでコンテンツが選択され、選択色を変更できる NSTextField が必要でした。このフォーラムには、フィールド エディターの謎を解き明かすのに十分な情報がありました。NSTextField をサブクラス化し、becomeFirstResponder メソッドをオーバーライドしました。
- (BOOL) becomeFirstResponder {
if (!super.becomeFirstResponder) return NO;
NSTextView * fieldEditor = (NSTextView *) [self.window fieldEditor:YES forObject:self];
[fieldEditor performSelector:@selector(selectAll:) withObject:fieldEditor afterDelay:0];
[fieldEditor setSelectedTextAttributes:selectionColor];
return YES; }
ここで、selectionColor は、NSBackgroundColorAttributeName にキー設定された NSColor オブジェクトを持つ 1 項目の NSDictionary です。これは、ウィンドウとパネルのテキスト フィールドでは完全に機能しますが、NSPopover のビューのフィールドではまったく機能しません。実際、テキストの選択が不可能になります。フィールドをクリックして入力することは引き続き可能ですが、カーソルをテキスト内でドラッグして選択することはできません。どうにかしてフィールド エディターの設定を誤っているとしか結論付けられません。私はそれを正しく参照していますか?