NSTextView - 无法编辑文本

时间:2015-01-06 10:02:12

标签: objective-c macos cocoa nstextview

我正在使用以下代码在OSX应用中创建一些NSTextView对象:

NSTextView *testTextView = [[NSTextView alloc] initWithFrame:NSMakeRect(0, 700, 1200, 100)];
[testTextView setFont:[NSFont fontWithName:@"HelveticaNeue-Light" size:18]];
[testTextView setDelegate:self];
[testTextView setBackgroundColor:[NSColor lightGrayColor]];
[testTextView setString:@"Some text to populate this lovely NSTextView. I would like to be able to edit this text but I can't."];
[testTextView setEditable:TRUE];
[[self.window contentView] addSubview:testTextView];
[self.window makeFirstResponder:testTextView];

NSTextView正确显示在屏幕上,文字可见,但我无法编辑文字。

任何人都可以指出我做错了什么。

非常感谢

1 个答案:

答案 0 :(得分:0)

如果你使用的是tittle-less window,那么无法编辑的对象就像NsTextField,NsTextView .......

如果您使用的是标题窗口, 该窗口必须能够成为关键窗口,您需要创建NSWindow的子类并覆盖-canBecomeKeyWindow,如下所示:

-(BOOL)canBecomeKeyWindow {

    return YES;

}