NSTextField не отвечает на ввод с клавиатуры

Я попытался написать приложение с одним окном, используя Objective-C в OS X 10.8, чтобы проверить что-то. Все работает отлично, за исключением того, что созданное мной NSTextField не отвечает на ввод с клавиатуры. Код выглядит следующим образом:

#import <Cocoa/Cocoa.h>

@interface customizedView:NSView
    +(customizedView *)aCustomizedView;  // changed method name to follow convention
@end
@implementation customizedView
    +(customizedView *)aCustomizedView{
        customizedView *newView = [[[customizedView alloc] initWithFrame:NSMakeRect(0,0,400,300)] autorelease];
        NSTextField *tf = [[[NSTextField alloc] initWithFrame:NSMakeRect(200,150,150,50)] autorelease];
        [newView addSubview: tf positioned:NSWindowBelow relativeTo:newView];
        return newView;
    }

    -(void)windowWillClose:(NSNotification *)aNot{
        [NSApp terminate:self];
    }
@end

void setup(){
    NSWindow *aWindow = [[[NSWindow alloc] initWithContentRect:NSMakeRect(0,0,400,300) styleMask:NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask backing:2 defer:NO] autorelease];
    customizedView *aView = [customizedView aCustomizedView];
    [aWindow setContentView:aView];
    [aWindow setDelegate:aView];
    [aView setNeedsDisplay:YES];
    [aWindow makeKeyAndOrderFront:nil];
}

int main(int argc, char **argv){
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    NSApplication *NSApp = [NSApplication sharedApplication];
    setup();
    [NSApp run]; [NSApp release]; [pool release];
    exit(EXIT_SUCCESS);
}

Скомпилировать используя

gcc -w filename.m -o tmp -framework Cocoa

Все работает, за исключением того, что я не могу вводить с помощью клавиатуры для ввода в текстовое поле в моем настроенном NSView. Вставить с помощью мыши все в порядке. До сих пор у меня до сих пор нет идеала, почему это происходит, и я заранее благодарю всех, кто искренне читает этот совет.

0 ответов

Другие вопросы по тегам