beginSheet 方法对我不起作用

发布于 2024-12-10 22:18:12 字数 484 浏览 0 评论 0原文

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

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

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

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

I have saveWindowController (NSWindowController subclass object). I use initWithWindowNibName: method to init the controller.
I set File's owner in xib to SaveWindowController. I connect delegate (from window) to File's owner and window (from controller) to NSWindow in xib file.

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

After executing this method I see modal window without titlebar and it appears not like normal sheet. It just appears in left bottom corner of first window.

Could you help me, what I'm doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝眸 2024-12-17 22:18:12

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

Do you have your SaveWindowController's window set to "Visible at Launch" in the XIB? You must uncheck that option, or your window will try to display as soon as the XIB is loaded, and will not be positioned correctly.

笔芯 2024-12-17 22:18:12

在意识到我在 IB 中声明了我的工作表窗口没有标题栏之前,我遇到了很多麻烦。你的有吗?如果没有,请检查“标题栏”选项。

B.

I had a lot of trouble before realizing I declared my sheet window in IB without title bar. Does yours has one? If not, check the "title bar" option.

B.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文