问题标签 [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 投票
4 回答
10912 浏览

cocoa - 如何知道 NSWindow 在 Mac OS X Lion 中是否全屏?

我想我应该检查 if [NSApplication presentationOptions]contains NSFullScreenModeApplicationPresentationOptions,但我该如何实现呢?

编辑: using[NSApplication presentationOptions]不起作用,因为在我的基于文档的应用程序中可能有一些文档全屏显示,而另一些则没有。我现在正在寻找另一种解决方案。我想知道为什么没有一个名为[NSWindow isFullscreen]或类似的属性。

0 投票
1 回答
863 浏览

objective-c - 文档表不响应键盘事件

我认为这是第一响应者的问题,但我不确定。我正在为表格视图中的数据实现一个编辑窗口。在概念上与 Mail.app 中编辑过滤规则的 UI 非常相似。

我有一个编辑窗口,我附加到我的主窗口:

面板从主窗口的标题栏中正确显示。我可以用鼠标操作面板上的弹出控件,但我不能编辑文本字段,也不能在字段之间切换。其他一切正常。有任何想法吗?

0 投票
1 回答
2455 浏览

ios - NSApplication 与 UIApplication

UIApplication和 和有什么不一样NSApplication?(因为我没有从他们的文档中得到它......)
有人可以给我一些有用的链接来详细解释他们的差异吗?另外, (和 .h)在 iOS 应用程序
中的关键作用是什么? 谢谢你。AppNameAppDelegate.m

0 投票
0 回答
382 浏览

macos - 获取所有文件的路径放到 Mac 的 Dock 图标上

我正在尝试使用NSApplicationDelegateopenFiles方法来尝试抓取用户将放在我的(Cocoa)应用程序的停靠图标上的随机文件列表的路径。

将单个文件或文件夹拖到我的应用程序的停靠图标上时,我的解决方案可以完美运行。

但是,当将多个文件或文件夹拖到图标上时,它通常无法执行其工作。这样做时,openFiles总是会调用它,但它提供的文件列表通常不完整。分别传递相同的文件非常有效。

有人知道我做错了什么吗?

(我在雪豹 10.6.8 上)

--

更新:我在这里上传了一个重现问题的测试程序:https ://fgt.bo/if6

我的 plist 文件有问题吗?

0 投票
4 回答
7527 浏览

cocoa - 如何跨 nib 文件将菜单项连接到 NSApplication 委托中定义的自定义操作?

在我的 Cocoa 应用程序中,我有两个需要连接的 NIB/XIB 文件:

  1. MainMenu.xib:包含 NSApplication 委托对象的自定义对象,并将其连接到NSApplication占位符中的正确插座。

  2. ContextMenu.xib : 设置一个NSMenu; 一个条目应该打开首选项对话框

我的自定义应用程序委托定义了一个IBAction为我的应用程序调出首选项窗口。

如何连接 NSMenuItem(第二个 NIB)以显示应用程序委托(第一个 NIB)中定义的操作的首选项?

文档说这应该很容易,但他们没有提到如何在 Interface Builder 中准确地做到这一点:

如果菜单项引用应用程序级命令,您可以直接在应用程序委托中实现该命令,或者只是让委托将消息转发到应用程序中其他位置的适当对象。

我需要以某种方式访问​​第二个 NIB 中的应用程序委托,告诉 Interface Builder 它属于我的自定义类(因此它知道自定义 IBAction),并将其连接到菜单项的操作。

感谢您的任何指点!

0 投票
1 回答
280 浏览

macos - 获取正在运行的应用程序的应用程序徽章

我不确定这是否可能,但我想获得其他正在运行的应用程序的应用程序徽章。所以我想从邮件的徽章或其他应用程序(如 Adium)中获取文本。我看过了NSWorkspaceNSRunningApplication但找不到这个。任何帮助都会很棒。

0 投票
1 回答
2921 浏览

multithreading - 在 Apple 的 Cocoa API 中,为什么从主线程调用 NSApplicationMain 很重要?

NSApplicationMain的文档中,它说:

创建应用程序,从应用程序的主包中加载主 nib 文件,然后运行应用程序。您必须从应用程序的主线程调用此函数 [...]。

“主线程”显然是指程序的第一个线程,从哪里main(argc, argv)开始。快速浏览NSThread文档会发现+ (BOOL)isMainThread,它可用于确定当前线程是否是“主”线程。我进行了一些测试:无论是否NSApplicationMain已调用,此方法都有效。

我的问题有两个(有些相关)部分:

  1. 主线程有什么特别之处NSApplicationMain
  2. Cocoa 首先是如何识别主线程的?
0 投票
1 回答
1505 浏览

objective-c - 为什么 sendAction: 不起作用,而 performSelector: 起作用?

我有一个支持目标动作机制的自定义类,但在这种特定情况下奇怪的是,当我尝试通过执行来调用动作时:

它不起作用,但这种方式可以:

显然两者都target_具有action_有效值。

这没什么大不了的,因为我让它工作了。

我只是不知道为什么-[NSApplication sendAction:to:from:]不起作用,因为这看起来像是一个非常基本的操作。我过去一直在使用sendAction:...没有问题,但是这两者之间似乎存在一些显着差异,除了sendAction具有查找响应消息的对象(如果其目标是nil.

0 投票
1 回答
3389 浏览

objective-c - 从 kCGWindowNumber 获取 NSWindow

从 k CGWindowNumber,我如何获得NSWindow参考。我尝试使用:

但我总是得到一个空值。我需要获得NSWindowto apply [window setlevel:NSFloatingWindowLevel],我已经将 always 设置在给定窗口的顶部。有谁知道如何解决这个问题或有任何替代解决方案?


感谢您的回答,但这不是解决方案,我已经尝试过但它不起作用,实际上我做了一个测试,我尝试了以下代码:

但结果总是Window: (null)

我有一个窗口列表,我在哪里可以得到窗口的 OwnerPid 编号 ecc .. ecc ......现在我需要将始终设置在某些窗口的顶部。

Always on top is possible set whit: [window setlevel:NSFloatingWindowLevel], window 是一个NSwindow对象,它是真实的吗?

你有解决方案吗?或其他想法,我的问题?

0 投票
1 回答
803 浏览

cocoa - Cocoa Dock 触发 NSApplicationDidChangeScreenParametersNotification

当更改停靠位置时,Cocoa 会触发 NSApplicationDidChangeScreenParametersNotification:

问题是对于Apple Docs,只有在

当连接到计算机的显示器的配置发生更改时发布。配置更改可以通过编程方式进行,也可以在用户更改显示控制面板中的设置时进行。通知对象是 sharedApplication。此通知不包含 userInfo 字典。

因此,如果您想在附加新显示器时更新您的应用程序窗口(例如更改/移动某些 HUD 窗口/等的框架),您将收到一个虚假的通知。此通知也没有附加 userInfo 字典,因此我没有机会检查扩展坞或新显示控制器的时间。

那么如何处理呢?

一种可能的解决方案是在通知 si 触发时检查 [NSScreen mainScreen] 大小。如果此 NSSize 发生更改,则该通知来自附加的新显示器,而不是来自扩展坞: