Ciao a tutti,NSTextField non modificabile in costume NSWindow
Se creo NSTextField in vista del mio controller allora tutto va bene - il campo è modificabile. Sfortunatamente, devo creare NSTextField nella nuova NSWindow personalizzata. Il mio codice muggito produce un campo che sembra senza messa a fuoco (la selezione del testo è grigia) e non è modificabile (nessun cursore e nessuna reazione ai tratti dei tasti). Posso cambiare la selezione del testo con il mouse, ma questo è tutto.
Devo abilitare NSWindow per ricevere i colpi di chiave?
Apprezziamo il vostro aiuto, --Josef
NSRect windowRect = [[self.window contentView] frame] ;
NSWindow* uiWindow = [[NSWindow alloc] initWithContentRect:windowRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered defer:YES];
[uiWindow setBackgroundColor: [NSColor redColor/*clearColor*/]];
[uiWindow setOpaque:NO];
NSView* uiView = [[[NSView alloc] initWithFrame:NSMakeRect(0, 0, windowRect.size.width, windowRect.size.height)] autorelease];
[uiView translateOriginToPoint:NSMakePoint(100, uiView.bounds.size.height/2)];
uiView.wantsLayer = YES;
[uiWindow setContentView:uiView];
NSTextField *textField;
textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 800, 80)];
[textField setFont:[NSFont fontWithName:@"Helvetica Bold" size:60]];
[textField setStringValue:@"My Label"];
[textField setBezeled:YES];
[textField setDrawsBackground:YES];
[textField setEditable:YES];
[textField setSelectable:YES];
[textField setEnabled:YES];
[uiView addSubview:textField];
// THIS DOES NOT WORK
[self.window addChildWindow:uiWindow ordered:NSWindowAbove];
// THIS WORKS
//[_graphicView addSubview:uiView];
Ho appena scoperto che è causato dalla finestra styleMask NSBorderlessWindowMask. Se uso NSTitledWindowMask, allora va bene. C'è un modo per abilitare la tastiera per la finestra senza bordi? –