问题标签 [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.
cocoa - 可可 beginSheet:didEndSelector 抛出错误
我正在将工作表加载到我的主 .xib 中,工作表是一个面板,显示或关闭工作表没有问题,但是当我关闭它时,我收到一条错误消息:
这是我的代码:
cocoa - NSApplication 委托:确定从休眠模式返回:- didWakeUp?
我目前想知道这是否可能,就像在 iOS 上一样,一旦 OSX 从休眠模式返回,就会以某种方式调用一个委托,例如从睡眠状态打开 MacBook?
我看了一下NSApplication delegates
这里:Apple NSApplicationDelegate Protocol,但找不到任何有用的东西。
在 iOS 上,最接近它的可能- applicationWillEnterForeground:
是Apple UIApplicationDelegate Protocol中记录的内容。
有没有办法做到这一点?
更新
在可可中获得机器唤醒+用户登录通知的可靠方法?正好解决了这个问题!
objective-c - 具有多个窗口的 OS X 中的全屏应用程序?
除了具有正常的窗口行为外,我还想制作一个显示新空间背景的全屏应用程序。基本上,当用户全屏时,我希望NSWindow
应用程序中的每个都保持相同的大小,保持在屏幕的相同位置,但移动到新空间。这可能吗?如果是这样,这种行为的文档在哪里?
编辑:我知道这已经很老了,但我刚刚发现customWindowsToEnterFullScreenForWindow
. 我用它来解决问题。代码如下,以防其他人也有兴趣这样做。
这些都是NSWindowDelegate
方法,所以一定要设置窗口的委托。否则,可能会引起一些混乱。
cocoa - 如何在模态窗口中打开模态窗口
当在模式窗口中按下按钮时调用此代码。通过在 -(void)showWindow:(id)sender 方法中使用 [NSApp runModalForWindow:[self window]] 将当前窗口设为模态。
要打开新窗口,我使用以下代码。它工作正常,但被按下的按钮保持在“点击”状态。所以可能我做错了什么。
当收到关闭消息时,该块被 NSWindowController 的子类调用。谢谢你。
objective-c - 重新启动已启动的应用程序
我已经为 Mac OS X 创建了一个应用程序,并且我有一个桌面快捷方式(使用 创建ln -s
)。现在我想添加一个功能,这样每当双击这个快捷方式时,在应用程序已经运行的情况下,应该执行一些操作(比如在指定路径上打开一个 Finder 窗口)。如何实施?
我试图NSApplication
在我的应用程序中为基于通知的通知创建一个观察者,但没有任何建设性的结果。
有人可以帮忙吗?
objective-c - 使用 beginSheet:modalForWindow:?
我想将一个窗口显示为一个工作表,它使用以下代码完美运行:
但是,有一个小问题:
- 我正在使用Chromium Tabs的实现,并且 - 由于某种原因可能与 Chromium Tabs 的内部逻辑有关 - 工作表似乎比我想要的要低一些......(也许这是考虑的作为窗口“边框”,但无论如何......)
怎么了?我怎么能解决这个问题?
objective-c - objc_getProtocol() 为“NSApplicationDelegate”返回 NULL?
我正在尝试使用该objc_getProtocol()
函数来获取对表示NSApplicationDelegate
协议的结构的引用:
但是,由于某种原因,这总是返回NULL
。
其他协议,如NSObject
、NSCoding
、NSTableViewDelegate
和NSTableViewDataSource
工作正常。
有什么特别之处NSApplicationDelegate
,还是我做错了什么?
objective-c - 如何正确处理 Cocoa 应用程序终止?
所以,这是我的情况:
我正在开发一个非标准的基于文档的应用程序,并且我想处理在任何文档中仍有未保存的更改时中止终止的情况。
我最初的想法是:
- 用户尝试退出应用程序(通过
"Quit XXXXX"
菜单项或单击"X"
按钮) - 有修改过的文件吗?
- 如果否:退出
- 如果是:通知用户有未修改的文档。如果他想继续,那就退出。否则取消终止。
因此,我决定以委托方式进行。
在我的应用程序委托中,我实现了:
-windowToClose:
(触发NSWindowWillCloseNotification
)applicationShouldTerminate:
applicationShouldTerminateAfterLastWindowClosed:
现在,这就是我的想法。在applicationShouldTerminate:
方法中:
NSTerminateNow
如果不存在修改过的文档则返回NSTerminateCancel
如果有修改过的文档则返回。在这种情况下,弹出一个警告表或类似的东西,如果用户确认他想退出,然后调用[NSApp terminate:nil];
这是正确的方法吗?
有什么建议么?
objective-c - NSApplicationSupportDirectory 无效的 CFStringRef
我正在尝试将文件存储在 NSApplicationSupportDirectory 中,因为我的应用程序中有一个预加载的文件夹,我想在应用程序初始化后添加文件。我正在尝试 NSLog 文件的内容,所以我可以看看它是否真的有效。从调试器中,我可以看到内容是 ,我不是什么意思。有人吗?
objective-c - 模态窗口未关闭
我正在运行一个自定义 NSWindowController 作为模式窗口。
首先,我这样展示它:
然后我想从 ProgressWindow 的 NSWindowController 中解除它。为此,我在 windowDidLoad 函数中设置了以下代码(只是为了测试):
正如预期的那样,它在 2 秒后调用 testMethod 方法应该关闭模态窗口,但我似乎没有找到方法。我试过[NSApp stopModal]
, [NSApp abortModal]
, [self close]
, 把它做成一张纸然后打电话[self.window orderOut:nil];[NSApp endSheet:self.window];
,但似乎没有任何效果。要么什么都没有发生,要么窗口在另一个位置重新打开。我不知道为什么会这样,初始化代码只被调用一次。
谁知道怎么关闭???