问题标签 [nsapplication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1380 浏览

cocoa - 可可 beginSheet:didEndSelector 抛出错误

我正在将工作表加载到我的主 .xib 中,工作表是一个面板,显示或关闭工作表没有问题,但是当我关闭它时,我收到一条错误消息:

这是我的代码:

0 投票
0 回答
697 浏览

cocoa - NSApplication 委托:确定从休眠模式返回:- didWakeUp?

我目前想知道这是否可能,就像在 iOS 上一样,一旦 OSX 从休眠模式返回,就会以某种方式调用一个委托,例如从睡眠状态打开 MacBook?

我看了一下NSApplication delegates这里:Apple NSApplicationDelegate Protocol,但找不到任何有用的东西。

在 iOS 上,最接近它的可能- applicationWillEnterForeground:Apple UIApplicationDelegate Protocol中记录的内容。

有没有办法做到这一点?

更新

在可可中获得机器唤醒+用户登录通知的可靠方法?正好解决了这个问题!

0 投票
1 回答
716 浏览

objective-c - 具有多个窗口的 OS X 中的全屏应用程序?

除了具有正常的窗口行为外,我还想制作一个显示新空间背景的全屏应用程序。基本上,当用户全屏时,我希望NSWindow应用程序中的每个都保持相同的大小,保持在屏幕的相同位置,但移动到新空间。这可能吗?如果是这样,这种行为的文档在哪里?

编辑:我知道这已经很老了,但我刚刚发现customWindowsToEnterFullScreenForWindow. 我用它来解决问题。代码如下,以防其他人也有兴趣这样做。

这些都是NSWindowDelegate方法,所以一定要设置窗口的委托。否则,可能会引起一些混乱。

0 投票
0 回答
406 浏览

cocoa - 如何在模态窗口中打开模态窗口

当在模式窗口中按下按钮时调用此代码。通过在 -(void)showWindow:(id)sender 方法中使用 [NSApp runModalForWindow:[self window]] 将当前窗口设为模态。

要打开新窗口,我使用以下代码。它工作正常,但被按下的按钮保持在“点击”状态。所以可能我做错了什么。

当收到关闭消息时,该块被 NSWindowController 的子类调用。谢谢你。

0 投票
1 回答
169 浏览

objective-c - 重新启动已启动的应用程序

我已经为 Mac OS X 创建了一个应用程序,并且我有一个桌面快捷方式(使用 创建ln -s)。现在我想添加一个功能,这样每当双击这个快捷方式时,在应用程序已经运行的情况下,应该执行一些操作(比如在指定路径上打开一个 Finder 窗口)。如何实施?

我试图NSApplication在我的应用程序中为基于通知​​的通知创建一个观察者,但没有任何建设性的结果。

有人可以帮忙吗?

0 投票
1 回答
1629 浏览

objective-c - 使用 beginSheet:modalForWindow:?

我想将一个窗口显示为一个工作表,它使用以下代码完美运行:

但是,有一个小问题:

  • 我正在使用Chromium Tabs的实现,并且 - 由于某种原因可能与 Chromium Tabs 的内部逻辑有关 - 工作表似乎比我想要的要低一些......(也许这是考虑的作为窗口“边框”,但无论如何......)

在此处输入图像描述

怎么了?我怎么能解决这个问题?

0 投票
1 回答
767 浏览

objective-c - objc_getProtocol() 为“NSApplicationDelegate”返回 NULL?

我正在尝试使用该objc_getProtocol()函数来获取对表示NSApplicationDelegate协议的结构的引用:

但是,由于某种原因,这总是返回NULL

其他协议,如NSObjectNSCodingNSTableViewDelegateNSTableViewDataSource工作正常。

有什么特别之处NSApplicationDelegate,还是我做错了什么?

0 投票
1 回答
2121 浏览

objective-c - 如何正确处理 Cocoa 应用程序终止?

所以,这是我的情况:

我正在开发一个非标准的基于文档的应用程序,并且我想处理在任何文档中仍有未保存的更改时中止终止的情况。

我最初的想法是:

  • 用户尝试退出应用程序(通过"Quit XXXXX"菜单项或单击"X"按钮)
  • 有修改过的文件吗?
  • 如果否:退出
  • 如果是:通知用户有未修改的文档。如果他想继续,那就退出。否则取消终止。

因此,我决定以委托方式进行。

在我的应用程序委托中,我实现了:

  • -windowToClose:(触发NSWindowWillCloseNotification
  • applicationShouldTerminate:
  • applicationShouldTerminateAfterLastWindowClosed:

现在,这就是我的想法。在applicationShouldTerminate:方法中:

  • NSTerminateNow如果不存在修改过的文档则返回
  • NSTerminateCancel如果有修改过的文档则返回。在这种情况下,弹出一个警告表或类似的东西,如果用户确认他想退出,然后调用[NSApp terminate:nil];

这是正确的方法吗?

有什么建议么?

0 投票
2 回答
2747 浏览

objective-c - NSApplicationSupportDirectory 无效的 CFStringRef

我正在尝试将文件存储在 NSApplicationSupportDirectory 中,因为我的应用程序中有一个预加载的文件夹,我想在应用程序初始化后添加文件。我正在尝试 NSLog 文件的内容,所以我可以看看它是否真的有效。从调试器中,我可以看到内容是 ,我不是什么意思。有人吗?

0 投票
1 回答
519 浏览

objective-c - 模态窗口未关闭

我正在运行一个自定义 NSWindowController 作为模式窗口。

首先,我这样展示它:

然后我想从 ProgressWindow 的 NSWindowController 中解除它。为此,我在 windowDidLoad 函数中设置了以下代码(只是为了测试):

正如预期的那样,它在 2 秒后调用 testMethod 方法应该关闭模态窗口,但我似乎没有找到方法。我试过[NSApp stopModal], [NSApp abortModal], [self close], 把它做成一张纸然后打电话[self.window orderOut:nil];[NSApp endSheet:self.window];,但似乎没有任何效果。要么什么都没有发生,要么窗口在另一个位置重新打开。我不知道为什么会这样,初始化代码只被调用一次。

谁知道怎么关闭???