问题标签 [appkit]

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 回答
1593 浏览

cocoa - 如何使单个 NSView 中显示的所有内容变暗?

背景:我的应用程序有一个主窗口,其中包含一些较小的NSView对象,每个对象都包含几个不同的控件、标签、图像等。这些视图之一(及其包含的所有内容)在响应给定标志时被禁用。设置标志后,我会自动禁用嵌入在该NSView.

问题:我想知道如何使残疾人变暗NSView。我正在寻找的效果就像在 disabled 之上绘制一个 50% 透明的黑框NSView。背景和所有控件仍然可见,但颜色会变暗。有没有一种简单的方法可以做到这一点?

0 投票
9 回答
889 浏览

objective-c - 您为 Mac OSX 开发软件的动机是什么?

我真的很喜欢我的 Mac,并且我正在考虑在未来的某个时间为它开发软件。您制作 Mac 软件的原因是什么?因为你觉得 Mac 很酷?还是市场如此有趣?我想我们很多人都想知道,对吧?

正如我所说,对我来说,这是 Mac 的酷炫之处。我对市场一无所知。

0 投票
2 回答
2133 浏览

objective-c - 什么负责释放 NSWindowController 对象?

假设我显示一个像这样的窗口:

[[TBAddTaskWindowController new] showWindow:self];

要释放的 TBAddTaskWindowController 对象在哪里?是在windowWillClose 中调用[self release] 的通用解决方案吗?

让任何其他对象“拥有”该窗口是不合适的,因为它意味着在用户关闭它之前一直存在。

0 投票
3 回答
2628 浏览

swift - 如何从macOS最前面的应用程序中获取选定的文本?

我将很快开发一个应用程序,该应用程序需要在最前面的应用程序窗口中获取当前选定的文本,无论是 Safari、Pages、TextEdit、Word 等,并对该文本进行处理。

我的目标是找到一种适用于尽可能多应用程序的解决方案。到目前为止,我考虑过使用AppleScript,但这会限制可以与我的服务一起使用的应用程序的数量。至少必须支持这些常见的应用程序:Safari、Firefox(没有 AppleScript?)、Word、Pages、Excel、TextEdit...

我还考虑将剪贴板的内容保存在一个临时变量中,然后模拟文本复制操作(Cmd-C),获取文本,然后将原始内容放回原处。这可能会在复制操作时突出显示 Edit 菜单项是模拟的,对我来说似乎有点 hacky。IMO 这个解决方案对于商业产品来说似乎不够好。

我还希望获得更多的选择(即:Safari 或 Word 中页面的完整内容等)以在将来添加一些附加功能。

有关如何实现此行为的任何想法/详细信息?

提前感谢您的任何提示!

注意:我需要至少支持 10.4 及更高版本,但最好也支持 10.4 以上。

更新:

我选择的解决方案:使用“责任链”设计模式 (GOF) 组合 3 种不同的输入法(粘贴板、AppleScript 和辅助功能),自动使用最佳可用输入源。

请注意,当使用 NSAppleScript 的 executeAndReturnError: 方法返回一个 NSAppleEventDescriptor(假设是一个“descriptor”实例)时,为了让 [descriptor stringValue] 方法返回某些内容,在您的 AppleScript 中,您必须在“tell”块之外使用“return someString”否则什么都不会返回。

0 投票
3 回答
677 浏览

objective-c - 你怎么能禁止所有登录 Cocoa 应用程序?

有没有办法强制禁止Mac OS X 桌面 Cocoa 应用程序中的所有日志记录?

有时系统的某些部分或插件(这是您无法控制的)会代表您的应用程序将消息记录到控制台(system.log)。

有没有办法抑制应用程序中的所有日志记录?

0 投票
3 回答
4682 浏览

cocoa - NSLevelIndicator - 可可

我将如何使用 NSLevelIndicator?我对此很陌生,所以我不太了解如何为我的应用程序使用进度条。

0 投票
1 回答
703 浏览

objective-c - 我必须使用哪个 Objective-C 框架来记录我的屏幕?

我已经使用 pyobjc 桥和 QTKit 框架从我的 iSight 从 python 脚本中录制。

我应该使用哪个框架/设备/...而不是内置的 iSight 来捕获我的屏幕视频?

PS 我使用的是 Leopard(不是 Snow Leopard),因此我没有 Quicktime X API 可供使用。

0 投票
1 回答
1388 浏览

objective-c - 未收到 NSApplicationWillTerminateNotification

我有一些代码需要在应用程序终止时运行。我为 NSApplicationWillTerminateNotification 注册我的控制器,如下所示:

现在,如果我启动我的应用程序并在前 20 秒左右退出它, applicationWillTerminate就会被调用。如果我稍后退出应用程序,它不会。我的应用程序中的什么可能导致这种行为?我还尝试将我的控制器设置为 NSApplication 的委托,结果相同。有任何想法吗?

谢谢。

哦,这是 XCode 3.2,Snow Leopard 10.6.1,使用 10.5 SDK。发生在调试和发布版本中。

0 投票
1 回答
5279 浏览

cocoa - 忽略 AppKit 中的 UI 事件

如果我想在 iPhone 上忽略 UIKit 中的触摸事件,我会这样做:

这允许我的代码在“忽略”调用之间运行,而不必担心用户交互会改变应用程序的任何状态。

我的问题是,如果我正在编写 Mac OS X 应用程序(AppKit 与 UIKit),我该怎么做?我基本上想在某些操作期间“锁定”用户(具体来说,进行网络调用和快速更改状态会排队大量的网络调用,这些调用会很快相互干扰)。

我需要使用 AppKit 手动管理吗?即设置一个进度条,并手动禁用所有 UI 元素?

0 投票
2 回答
1635 浏览

objective-c - NSBitmapImageRep 中的巨大内存泄漏

我有一种方法可以分析从 CGImageRef 构建的 NSBitmapImageRep 内的像素数据。以下是相关代码:

我知道我正在正确释放 CGImageRef 和 NSBitmapImageRep,但是每次调用 -bitmapData 时都会泄漏大约 2 MB,我不知道如何正确释放它。有任何想法吗?

更新:我忘了补充一点:只有在全屏应用程序运行时才会泄漏内存。对于常规使用,内存释放得很好。