1

我可以通过代码将我的自定义 NSWindowController 显示为模式窗口:

TSAppDelegate* appDelegate = (TSAppDelegate*) [[NSApplication sharedApplication] delegate];
NSWindow* mainWindow = appDelegate.window; 

[NSApp beginSheet: [self window]
   modalForWindow: mainWindow
    modalDelegate: NULL
   didEndSelector: NULL
      contextInfo: NULL];
int acceptedModal = (int)[NSApp runModalForWindow: [self window]];
[NSApp endSheet: [self window]];
[[self window] close];

有用。但我需要非模态窗口。它必须显示为模态(见图)并且是非模态的。

在此处输入图像描述

我试过了

TSAppDelegate* appDelegate = (TSAppDelegate*) [[NSApplication sharedApplication] delegate];
NSWindow* mainWindow = appDelegate.window; 

[[self window] setParentWindow: mainWindow];

或者

[mainWindow addChildWindow: [self window] ordered: NSWindowAbove];

它作为非模式工作,但显示为正常的弹出窗口。

可能吗?

4

1 回答 1

3

似乎您只想要一个窗口从您的视图中下来而不是模态的。

与其使用工作表,您可以只使用一个单独的视图,您可以将其设置为动画进出位置。

你必须自己做一些工作:设置正确的位置、动画视图、响应事件等。

于 2013-06-27T10:45:05.520 回答