Итак, я рисую собственное окно (прозрачное) с настраиваемым NSView в качестве содержимого, и хотел бы также добавить NSTextField в окно, однако, когда я добавляю NSTextField, я получаю странное изменение размера или перерисовку Пользовательский NSView, и я не могу понять, что является причиной проблемы. И окно, и представление содержимого окна являются подклассами NSWindow и NSView соответственно. Кроме того, я попытался просто наложить пользовательский NSView (не устанавливая его в качестве содержимого) без изменений. Есть идеи?
NSWindow *quickEntryWindow = [[TransparentWindow alloc] initWithContentRect:NSMakeRect([[NSScreen mainScreen] frame].size.width/2 - 250, [[NSScreen mainScreen] frame].size.height/2 + 50, 500, 100)
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO
special:YES];
BorderView *quickEntryBorderView = [[BorderView alloc] initWithFrame:NSMakeRect(0, 0, [[quickEntryWindow contentView] frame].size.width, [[quickEntryWindow contentView] frame].size.height)];
[quickEntryBorderView canDrawConcurrently];
[quickEntryWindow setContentView:quickEntryBorderView];
NSTextField *quickEntryTextField = [[NSTextField alloc] initWithFrame:NSMakeRect(10, 10, [quickEntryBorderView frame].size.width-20, [quickEntryBorderView frame].size.height-20)];
[quickEntryTextField setAutoresizingMask:NSViewNotSizable];
[quickEntryTextField setBordered:NO];
[quickEntryTextField setDrawsBackground:NO];
[quickEntryTextField setFocusRingType:NSFocusRingTypeNone];
[quickEntryTextField setFont:[NSFont fontWithName:@"Helvetica" size:42]];
[quickEntryTextField setTextColor:[NSColor grayColor]];
[quickEntryBorderView addSubview:quickEntryTextField];
То, что я получаю, выглядит примерно так (это нормально, когда текст не вводится в NSTextField):
О да, я знаю, что не управляю своей памятью ... Я просто пытаюсь заставить это работать. Спасибо!