Como habilito a verificação ortográfica em um NSTextField no Mac OS X?
Eu tenho um NSTextField que gostaria de ativar a verificação ortográfica "conforme você digita". Quando carrego meu aplicativo, posso fazer isso na Barra de menus> Editar> Ortografia e gramática> Verificar ortografia durante a digitação.
Gostaria que esta opção fosse ativada por padrão. No IB, eu posso habilitar isso para um NSTextView, mas gostaria de usar o NSTextField para esta parte da interface do usuário.
Obrigado.
Atualizar: Alguém sabe se é possível executar programaticamente a opção Barra de menus> Editar> Ortografia e gramática> Verificar ortografia ao digitar no NSTextField a partir do código Objective-C? Parece que o NSTextField suporta a opção "Verificar ortografia ao digitar", mas não há como habilitar a opção no Obj-C.
Editar # 1
Tentei o seguinte para ativar manualmente o menu e não funcionou:
// Focus TextField
[textField becomeFirstResponder];
// Enable Spell Checking
NSMenu *mainMenu = [[NSApplication sharedApplication] mainMenu];
NSMenu *editMenu = [[mainMenu itemWithTitle:@"Edit"] submenu];
NSMenu *spellingMenu = [[editMenu itemWithTitle:@"Spelling and Grammar"] submenu];
NSMenuItem *autoSpellingMenuItem = [spellingMenu itemWithTitle:@"Check Spelling While Typing"];
[autoSpellingMenuItem setEnabled:YES];
NSLog(@"Menu: %@", [autoSpellingMenuItem description]);
NSLog(@"Target: %@", [[autoSpellingMenuItem target] description]);
// Actually perform menu action
[[autoSpellingMenuItem target] performSelector:[autoSpellingMenuItem action]];
Não é possível chamar diretamente a ação do item de menu em vez de usar o setEnabled: YES?
O resultado acima gera o seguinte, sem saber por que o destino é nulo
App[3895:a0f] Menu: <NSMenuItem: 0x100135180 Check Spelling While Typing>
Current language: auto; currently objective-c
App[3895:a0f] Target: (null)
SOLUÇÃO
Abaixo está a solução para esse problema, se mais alguém precisar saber. Alguns NSLogging me mostraram que, depois de definir o NSTextField como firstResponder, o firstResponder realmente contém um NSTextView, você pode ativar a ortografia. Presumo que o NSTextField contenha um NSTextView nas subviews que levam o respondedor, na verdade isso deve ser exposto na classe NSTextField.
// Focus TextField
[textField becomeFirstResponder];
// Enable Continous Spelling
NSTextView *textView = (NSTextView *)[self.window firstResponder];
[textView setContinuousSpellCheckingEnabled:YES];