问题标签 [nspanel]

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 投票
2 回答
277 浏览

swift - 使 NSPanel 始终位于顶部

我正在为 react-native-macos 搭建一座桥梁。我需要具有与 Spotlight 相同行为的 NSPanel。我以编程方式创建了它,但有问题:

  1. 不能让它总是在顶部(如果应用程序被隐藏它也应该工作)
  2. 面板内有 NSTextField。如果我尝试隐藏标题面板,我将无法更改该字段。好像禁用了。
  3. 显示结果的最佳方式是什么(例如在聚光灯下)
0 投票
1 回答
55 浏览

objective-c - 内部可编辑的 NSTextField 不是 .titled NSPanel

我正在为 react-native-macos 搭建一座桥梁。我需要具有与 Spotlight 相同行为的 NSPanel。

我以编程方式在里面创建了 NSPanel 和 NSTextField。一切都按预期工作,但如果我将 NSPanel 更改为 not .titled - 文本字段被禁用。

作品:

不起作用:

如何使用隐藏的标题栏和可编辑的 NSTextField 执行 NSPanel?

0 投票
1 回答
114 浏览

swift - 失去焦点时NSPanel不会隐藏

我正在尝试创建一个像 Spotlight 这样的窗口。与 Spotlight 中一样,它应该在单击背景时隐藏。我尝试使用 NSWindow 未成功,但我被引导相信使用 NSPanel 可以解决问题。但是,即使使用 NSPanel,窗口也不会隐藏。这是我正在使用的代码。

0 投票
0 回答
151 浏览

xcode - NSPanel 无边界但始终位于顶部

我正在尝试制作一个NSPanel看起来像这样的

无边界

这是这样初始化的

问题是,当我单击该面板外屏幕上的任意位置时,它就会消失。只有当我再次单击应用程序图标时,它才会出现在前台。

通过以下实现,我让面板贴在顶部,但它有一个边框

边框(几个黑色像素)看起来像这样,但总是在顶部。

边界

问题

我怎样才能让它无边界(如第一张图片)但始终在顶部(如第二张图片)。

笔记

  • 两种变体都有level = .mainMenu
  • 两种变体都有collectionBehavior = [.canJoinAllSpaces, .fullScreenAuxiliary]
0 投票
0 回答
45 浏览

objective-c - NSPanel 使用 PyObjC 以 NSWindow 的样式初始化

我从 PyObjC 文档中下载了一个示例代码,并将其删除了大部分非必要内容。然后我将 NSWindow 的所有引用更改为 NSPanel,但这没有任何效果。

我不能让这个窗口成为一个 HUD NSPanel,它保持在一个普通的 NSWindow 的形式。其次,它似乎win.orderFrongRegardless()不能正常工作,因为我必须在运行代码后从我的 Dock 手动打开窗口。

0 投票
0 回答
61 浏览

swift - 当空间快速变化时,使 NSWindow 保持“浮动”

我目前有:

当前行为: 当空间发生变化(在全屏窗口之间移动)时,窗口相对于 desktop/space 移动。

在此处输入图像描述

预期行为: 我希望窗口的行为与 macOS 中的通知窗口非常相似,即使活动空间发生变化,窗口也会“浮动”在屏幕上方。

在此处输入图像描述

0 投票
0 回答
36 浏览

swift - 在 Swift Cocoa 中始终保持窗口焦点

我目前正在研究“浮动”窗口。该窗口包含一个带有可点击行的表格视图。

在此处输入图像描述

窗口按预期“浮动”在其他窗口上方,但问题是为了选择一行,我必须点击窗口两次以选择一行(一次“激活”窗口,另一次点击该行) .

当另一个应用程序处于焦点时,是否可以在此窗口中选择一行(单击)。

0 投票
0 回答
33 浏览

cocoa - 如何启用 NSSavePanel 的关闭按钮?

默认情况下,AppKitNSSavePanel具有以下标准窗口按钮(左上角的圆形按钮):

  • 关闭(最左边)禁用
  • miniaturize (middle)禁用
  • 缩放(右 ,绿色)启用在此处输入图像描述

禁用缩放按钮也很容易(我们不希望这样,只是表明我们使用了正确的 API):

但是关闭按钮无法以某种方式启用:

但在他们自己的macOS 人机界面指南中,Apple 要求

通常,禁用面板上的最小化按钮。面板不需要最小化,因为它只在需要时显示,并在应用程序处于非活动状态时消失。然而,关闭按钮——在某些情况下,缩放按钮——应该被启用。

那么在创建 NSSavePanel 时如何遵循这些准则呢?