我正在创建一个继承自NSPanel的自定义类,此面板是我应用程序的登陆屏幕。
我在其上添加了一个NSTextField,它在屏幕上可见。问题是文本字段不可编辑。
但是,如果我创建一个新的cocoa项目并为textfield运行相同的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];
我需要你的帮助......
答案 0 :(得分:3)
覆盖NSPanel子类中的方法
- (BOOL)canBecomeKeyWindow {
return YES;
}