как сделать NSTextField редактируемым - PullRequest
4 голосов
/ 14 июля 2011

Я создаю пользовательский класс, который унаследован от NSPanel, и эта панель является моим целевым экраном приложения.

Я добавляю на него 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];

Мне нужна ваша помощь ...

1 Ответ

3 голосов
/ 30 апреля 2014

Переопределить метод в подклассе NSPanel,

- (BOOL)canBecomeKeyWindow {
    return YES;
}
...