macos - beginSheet 方法对我不起作用

标签 macos cocoa nswindow cocoa-sheet

我有 saveWindowController (NSWindowController 子类对象)。我使用 initWithWindowNibName: 方法来初始化 Controller 。
我将 xib 中的文件所有者设置为 SaveWindowController。我将delegate(从窗口)连接到文件的所有者,将window(从 Controller )连接到xib文件中的NSWindow。

[NSApp beginSheet:[self.saveWindowController window] 
   modalForWindow:[self window]
    modalDelegate:nil didEndSelector:nil contextInfo:nil];

执行此方法后,我看到没有标题栏的模式窗口,它看起来不像普通工作表。它仅出现在第一个窗口的左下角。

你能帮我看看我做错了什么吗?

最佳答案

您是否在 XIB 中将 SaveWindowController 的窗口设置为“启动时可见”?您必须取消选中该选项,否则您的窗口将在 XIB 加载后立即尝试显示,并且不会正确定位。

关于macos - beginSheet 方法对我不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7848842/

相关文章:

macos - 如何在 Mac OS X 中的 bash 中创建 md5 哈希

linux - Ubuntu/Darling - dyld : Failed to load native library: libSimpleWebKit. 所以

iphone - 捆绑 i386 和 arm6/7 的可执行文件

objective-c - 如何隐藏窗口

cocoa - 当 WebView 添加到 NSWindow 中的特定 View 时,:hover stops working. 如何修复此问题?

objective-c - 如何删除 Cocoa 添加到透明纸张的 "blur"效果?

swift - 终端测试命令在 Swift 中没有按预期工作

macos - 在 Mac OS X 中模拟物理鼠标移动

cocoa - NSTrackingArea 工作很奇怪 - 整个 View ,或者什么都没有......没有尊重矩形

macos - 开发 OS X 应用程序时,全文索引的最佳选择是什么?