如何在特定位置将 NSWindow 显示为工作表

Ano*_*dya 2 macos cocoa objective-c cocoa-sheet

我有一个这样的窗口,有 3 个子视图,每个子视图都有按钮。单击那些 - 我需要显示工作表。

在此处输入图片说明

在此处输入图片说明

通过使用此代码,工作表位于窗口的中心。

- (IBAction)closeSubWindow:(id)sender{
    [NSApp endSheet:self.subWindow];
    [self.subWindow orderOut:nil];
    
}

- (IBAction)showSubWindow:(id)sender {
    [NSApp beginSheet:self.subWindow
       modalForWindow:self.window
        modalDelegate:self
       didEndSelector:nil
          contextInfo:nil];
}
Run Code Online (Sandbox Code Playgroud)

是否有任何选项或方法可以在特定坐标处显示工作表?

编辑:

我目前的实现是通过使用NSPopover. 我可以让它NSPopover像工作表一样动画吗?

Wev*_*vah 5

看一下NSWindow委托方法-window:willPositionSheet:usingRect: