objective-c - 在 mac os x 桌面上绘图

标签 objective-c macos

我想获得这种效果(在 MAC OS X 上):我想在屏幕上绘制一个三角形(CoreGraphics)。这将位于桌面上的非交互式隐形窗口中。该窗口将始终是窗口堆栈中的最后一个(在桌面上,而不是在任何其他窗口上)。用户不应该能够通过 alt-tab 切换到它。它甚至不应该在码头上可见。用户将从配置预置 Pane 中选择它的属性...大多数事件(鼠标右键单击等)应转发到 mac 桌面,需要考虑暴露/任务控制和空格。 关于如何执行此操作有什么好的指南/教程吗?

最佳答案

首先,您需要设置窗口的级别。 NSWindow 有很多选项。 尝试找到适合您的那一款。 Expose 中出现的窗口和任务控制可在 Interface Builder 中配置。

您可能想要某种全屏窗口。有很多方法可以实现这一点。

您可能还想要一个无边框窗口。其他地方已经对此进行了很好的介绍。

然后您将需要寻找使用更少的标准内容来运行您的应用程序的方法。 这可以通过多种方式进行配置并得到广泛讨论。 NSApplication 和 NSWorkSpace 为您提供了大部分功能,并且有些事情可以在 Info.plist 中完成

最后,您可能需要一个状态菜单项(就像每个人第一次学习 Photoshop 时的滤镜一样,已经过时了)。 或者可能是系统偏好设置中的偏好 Pane 。或者全局知识库快捷方式调用首选项窗口。

这应该足以让您开始。谷歌和修补。一点一点。

关于objective-c - 在 mac os x 桌面上绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21602917/

相关文章:

macos - [NSApplication _crashOnExeption] 崩溃

适用于 Mac 的 Java 应用程序

macos - AppleScript:对传递给 Firefox 的 URL 中的任意查询字符串值进行编码

c - 你如何使用 c 代码启动终端(mac)?

macos - SSL 握手时出现 OS X Keychain 访问提示

iphone - 如何在不管理UDID和重新编译的情况下无线分发ios应用程序

mysql - 通过php连接xcode到mysql

iphone - 识别使用 UIBezierPath 绘制的不同形状?

objective-c - "Format string is not a string literal (potentially insecure)"

iphone - 只有一位开发人员收到推送通知