открыть окно со следующим:NSOpenPanel над полноэкранным NSWindow?
NSRect screenRect = [[NSScreen mainScreen] frame];
[super initWithContentRect:screenRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
int windowLevel = CGShieldingWindowLevel();
[self setLevel:windowLevel];
... так что окно на весь экран & выше всех других уровней окна (включая модальные окна). Позже я хочу, чтобы отобразить открытую панель, однако следующие открывает диалоговое ниже окно я создал выше (это, кажется, что материал runModal перекрывает требуемый уровень окна, когда я пытаюсь установить):
NSOpenPanel *OP = [NSOpenPanel openPanel];
int windowLevel = CGShieldingWindowLevel();
[OP setLevel:windowLevel];
int returnCode = [OP runModal];
.. . и следующий открывает лист на окно, созданное выше (хорошо), однако она также завершаться показывает строку меню, в котором я ранее скрытый (не то, что я хочу):
NSOpenPanel *OP = [NSOpenPanel openPanel];
[OP beginSheetModalForWindow:[self window]
completionHandler:^(NSInteger returnCode) {
NSLog(@"completionHandler called with %d", returnCode);
}];
... так что мой вопросы:
- Кто-нибудь знает, как открыть модальное окно над
CGShieldingWindowLevel
? - Есть ли способ заставить панель меню не отображаться на решении листа, которое я пытаюсь сделать выше?
Спасибо всем :-)
Не забудьте проверить возвращаемое значение из '[super init ...]'. –