2011-07-14 16 views
4

私はNSPanelから継承されたカスタムクラスを作成しています。このパネルはアプリケーションの私のランディング画面です。NSTextFieldを編集可能にする方法

NSTextFieldを追加しています(画面に表示されています)。問題は、テキストフィールドが編集できないことです。

しかし、私は新しいココアプロジェクトを作成し、同じaddSubviewコードをテキストフィールドで実行すると、すべてが良好で、テキストフィールドを編集することができます。

私のカスタムパネルに問題があるようですが、私はそれを狩ることができません。

私はあなたの助けが必要
NSTextField *infoTextField = [[NSTextField alloc] initWithFrame:rect]; 
[[window contentView] addSubview:infoTextField]; 
[infoTextField setDelegate:self]; 
[[infoTextField window] becomeFirstResponder]; 
[infoTextField setTextColor:[NSColor blackColor]]; 
[infoTextField setDrawsBackground:YES]; 
[infoTextField setBordered:YES]; 
[infoTextField setSelectable:YES]; 
[infoTextField setEditable:YES]; 
[infoTextField setEnabled:YES]; 
[infoTextField setAlignment:NSLeftTextAlignment]; 
[infoTextField setStringValue:@"What are you doing?"]; 
[infoTextField release]; 

...

答えて

3

オーバーライドNSPanelサブクラスのメソッド、

- (BOOL)canBecomeKeyWindow { 
    return YES; 
} 
+0

それが正しいと、そのシンプルです:

は、ここに私のコードです。 – uchuugaka

関連する問題