问题标签 [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.
cocoa - 在界面生成器中,如何将自定义按钮添加到窗口标题栏?
在我的 OS X 应用程序中,使用 Interface Builder,我有一个如下所示的窗口:
我想在右侧添加一个按钮,以实现此目的:
如果这是可能的,我该怎么做?
objective-c - 为什么我的 NSPanel 没有正常的灰色背景?
我的应用程序在菜单栏中有一个图标。NSPanel
当我单击图标时会出现A。但是为什么没有NSPanel
像其他灰色背景那样的背景颜色NSWindow
呢?我NSPanel
的背景看起来像透明的。我NSPanel
来自一个.xib
文件。我的代码如下:
objective-c - 如何在 NSWindowController 中使用关闭按钮停止模式?
当用户单击 NSWindowController 中的红色关闭按钮时,我想停止模式。
在 NSWindowController 中,有“确定”和“取消”按钮。
当我单击红色关闭按钮时,窗口将关闭并且模态不会停止。我找到了windowWillClose:函数。
然而,
即使我单击 OK 按钮,windowWillClose:函数也会被调用并且runModalForWindow:函数总是返回 NSCancelButton。
作为模态的结果,我可以将成员变量添加到myWindowController中。
但我认为会有另一种通用的方法来解决这个问题。
我想采取一种简单的方法。
objective-c - 当“代理”应用程序在后台启动时 NSPanels 消失
我使用 Cocoa“状态栏”教程 ( http://cocoatutorial.grapewave.com/tag/status-bar/ ) 作为起点,试图为自己构建一个仅显示为 StatusItem 的代理。
这个应用程序没有主 NSWindow 对象,它有三个与之关联的 NSPanel。一个 NSPanel 用作“应用程序首选项”窗口,另外两个只是提示用户使用 OK 按钮输入一小段文本。
首选项面板通过 NSMenuItem 启动,如下所示:
当我从 XCode 内部构建和运行应用程序时,一切似乎都运行良好。但是,当我从 Xcode 外部(例如 Finder)运行应用程序时,这些窗口根本不会出现。
此外,我可以在 XCode 中复制该行为。如果我显示首选项面板,然后单击关闭它(例如,我单击此 Safari 窗口),首选项面板就会消失,再也不会出现。我必须从 XCode 中物理停止应用程序,然后再次运行它才能重新出现首选项面板。
提前感谢任何人的帮助!
objective-c - NSPanel 有黑色背景,文本不可见
我正在尝试为ScreenSaverView
子类显示配置表。经过与 Xcode 的长期斗争,我终于在系统偏好设置中单击“屏幕保护程序选项”时出现配置表(并且选择了我的屏幕保护程序),并且该表的行为正常,但有一个例外:背景为黑色,使文本不可见(见图)。
无论工作表是一个NSPanel
或NSWindow
类,以及面板是常规面板、实用程序面板还是 HUD 面板,都会发生这种情况。我似乎唯一能做的就是改变面板的 alpha 值,正如预期的那样,它使一切变得更加透明(但文本仍然不可见)。有趣的是,调用setOpaque
orsetBackgroundColor
上的NSPanel
orNSWindow
似乎没有任何效果。
xcode - 如何创建从 NSWindow 模态弹出的 NSPanel(Cocoa 编程)
就像在 NSWindow 中单击按钮后显示的 NSPanel。
我找了很多,但没有简单的例子。谢谢你的帮助。
macos - 如何从顶部制作它?(可可片)
我已经使用以下方法实现了我的工作表(NSPanel):
}
工作表出现在我的屏幕中间,如何将其附加到主窗口的顶部并使其显示为“向下滑动”效果?
提前致谢。
objective-c - 用户关闭时如何避免释放 NSPanel
我正在开发一个小而简单的状态菜单应用程序。
有一个菜单,当用户单击它时,应该会出现一个 HUD 窗口(NSPanel)。这就是我显示面板的方式:
这就是我关闭窗口的方式:
这就是事件链:
- 当应用程序启动时,我关闭窗口;
- 然后用户(就是我:-))点击菜单项并使面板出现;
- 然后我点击 x 并关闭面板;
- 然后我再次单击菜单项,窗口不再出现。
它不再出现可能是因为它被释放了,而且我放了一个弱存储,否则使用 __unsafe_unretained 它会在第二次启动时崩溃。
所以我猜是否有办法避免在用户点击它时释放窗口。
我尝试过使用强大的存储,但是在第二次启动时我无法再次关闭它,这是一个问题。
有许多菜单状态应用程序能够显示一个窗口,而用户可以“杀死”它,我会做类似的事情。
objective-c - Cocoa:当 HUD 面板关闭时关闭应用程序
当用户单击面板关闭按钮时,我需要关闭整个应用程序,我尝试过:
但它也会从文件选择器面板关闭应用程序。
先感谢您。L.
cocoa - 是否可以在 NSPanel 上打开和关闭 NSNonactivatingPanelMask
我知道这个用例是非典型的,但我一直试图找出一种方法来使NSPanel
非激活,仅在某些情况下。
如果 anNSPanel
被初始化NSNonactivatingPanelMask
(或者如果在 Interface Builder 中选中了面板的“Non Activating”属性),那么稍后在代码中更改样式掩码对窗口行为没有影响:
检查styleMask
属性显示它NSNonactivatingPanelMask
已打开,但单击其标题栏仍会激活应用程序。
反之亦然。在代码中使用掩码进行初始化NSNonactivatingPanelMask
并将掩码设置为([panel styleMask] & ~NSNonactivatingPanelMask)
稍后对窗口行为没有影响,导致单击标题栏时它不会激活应用程序。
是否有一个简单的解决方法,例如告诉窗口重新解释其样式掩码的方法?如果没有,最合适的选择是什么?