如何使NSTextField可编辑

时间:2011-07-14 07:38:58

标签: cocoa nstextfield

我正在创建一个继承自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];

我需要你的帮助......

1 个答案:

答案 0 :(得分:3)

覆盖NSPanel子类中的方法

- (BOOL)canBecomeKeyWindow {
    return YES;
}