问题标签 [nspopover]
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.
macos - 返回 NSOutlineView 中选定行的位置
我有一个 NSOutlineView,当双击大纲视图中的一行时,会使用以下代码显示一个 NSPopover:
该代码工作正常,但将弹出框放置在大纲视图的垂直高度的中间。我希望弹出窗口出现在大纲视图中选择(双击)的行旁边。我可以调用大纲视图来返回所选行的位置吗?我似乎在文档中找不到这样的方法。显然我会替换 [nid bounds] 这样的调用。否则,我将不胜感激有关如何解决此问题的任何其他建议。
objective-c - 跟踪 NSPopover 的子视图中是否有 mousedown/up
这是我当前的对象层次结构:一个视图有一个打开一个按钮NSPopover
,其中包含另一个视图(An NSControl
)
我正在监听我的 mouseup 事件NSPopover
,此时我关闭了我的NSPopover
.
但是,如果我在其中,我不希望它关闭NSControl
(即,如果在 中存在 mousedown/mouseup 事件NSControl
)
所以我的计划是确定何时在控件上找到 mouseup/down 事件,然后忽略NSPopover
在NSPopover
以前有人做过这样的事情吗?有任何想法吗?提前致谢!
objective-c - 无法在 NSPopover 中设置内容
我在 NSView 中显示了一个 NSPopover,它源自 NSBezierPath 上的一个点。我可以毫无问题地显示弹出框,但我似乎无法在其中设置两个文本字段的字符串值。弹出框和内容视图分别是 NSPopover 和 NSViewController 的自定义子类。NSPopover 子类也是 NSPopover 的委托,虽然我没有实现任何委托方法,所以我什至不确定是否需要这样做。
这是我的 NSViewController 子类:
还有我的 NSPopover 子类:
这是我的 NSView 子类中打开弹出框的代码:
在WeightPopoverViewController.xib
中,我已将视图设置File's Owner
为WeightPopoverViewController
并将视图连接到自定义 NSView。在这个 xib 中,我还设置了一个对象,WeightPopoverController
其中 dateLabel 和 weightLabel 连接到它们的文本字段,并且 contentViewController 设置为File's Owner
。
我认为我出错的地方可能与我如何为 NSPopover 配置我的类/实例变量有关,但是从我所做的研究和我读过的文档来看,我似乎无法破解我去过的地方错误的。任何帮助,将不胜感激。
更新:
我从代码和 IB 中删除了 NSPopover 子类。我将我的插座放在我的 NSViewController 中并将它们连接到 IB 中。但是,我仍然无法设置字符串值。以下将不会编译错误“在 NSPopover * 类型的对象上找不到属性 'weightLabel'”。
我的属性定义与我在 NSPopover 子类中的完全一样,但现在在我的 NSViewController 中。这实际上是我以前所拥有的,由于我无法从 NSViewController 设置属性,我想我需要通过 NSPopover 的子类来完成。这就是为什么我认为我在配置类/实例变量方面存在问题。
cocoa - 我应该为 NSPopover 中的文本使用哪种 NSColor?
NSPopovers 中文本的正确 NSColors 是什么(在 iTunes 12 中显示)?我没有在 HIG 中找到此信息,我不确定如何找出其他信息(将数字色度计中的颜色值与某处的列表匹配?)这是一个屏幕截图:
objective-c - 优胜美地深色中的 NSPopover 颜色反转
我正在使用NSPopover
,当我将系统停靠颜色更改为深色(优胜美地新功能)时,我视图中的某些元素会反转它们的颜色。
例如,一些标签从黑色变为灰色,或者文本字段背景从白色变为黑色。如果我有一个白色背景的视图,它现在会变成模糊的黑暗效果。
所以两个问题:
我可以取消此行为并强制 UI 在常规模式下运行吗?
这里有什么规则可以让哪个元素反转它们的颜色吗?
因为似乎有些元素发生了变化,有些则没有。
这是我在优胜美地常规模式下的应用程序:
这是在优胜美地黑暗模式下:
xcode - NSStatusItem 应用焦点
我的菜单栏应用程序如何实现与 1Password 或 Dropbox 相同的行为:
- 单击他们的菜单栏图标或弹出框不会窃取焦点,例如,当我在 TextEdit 中并打开 1Password/Dropbox 时,闪烁的光标会消失,但窗口本身不会进入背景,但我可以在 1Password 的文本字段中输入。
- 即使它们一开始并没有集中注意力,当我单击返回另一个应用程序时它们也会消失
我通过使用带有选项 MouseEnteredAndExited、AssumeInside 和 ActiveAlways 的 NSTrackingArea 了解了鼠标悬停在 Dropbox 弹出表视图中的工作原理。
我试图在从 NSStatusItem 打开的 NSPopover 中获得相同的行为。
objective-c - NSPopover 中的 NSOutlineView 在 OSX 10.10 Yosemite 中不可读
我有一个NSPopover
包含一个NSOutlineView
(源列表),它显示在通常是黑暗的背景上(但它并不总是黑暗的)。它NSOutlineView
有一个透明的背景,可以很好地与NSPopover
视图融为一体。这在 OS X 10.9 中看起来很棒,但在 10.10 中,系统会NSOutlineView
根据背景更改文本颜色。结果是文本在某些情况下变得完全灰色且不可读:
如果我将弹出框更改为 HUD 样式,则更具可读性:
但是,在这种情况下,较浅的背景(顶部)会出现问题。
有什么方法可以控制文本颜色,NSOutlineView
以便无论背景如何颜色都保持不变?我尝试将文本单元格的颜色设置为黑色而不是系统颜色,但它没有帮助。
另外,我可以控制/删除透明度NSPopover
吗?我读过NSPopover
使用NSVisualEffectView
,它有一些外观控件,但我不知道如何从 NSPopover 访问它。
出于美学原因,我不想将其NSOutlineView
置于坚实的背景视图之下。在这种情况下,弹出框背景与其箭头之间的颜色会出现难看的不匹配。
编辑:
我能够使用以下代码删除透明度:
它有效,但感觉就像一个丑陋的黑客。我欢迎更好的建议。
编辑2:
这就是水色风格的样子。没有透明度和黑色文本。
window - NSPopover sample code does not detach window
I have not been able to get my NSPopover to detach to a window in my own projects, so to simplify I tried the Apple sample.
I downloaded a fresh copy of the Apple sample project: http://developer.apple.com/library/mac/samplecode/Popover/Introduction/Intro.html
It behaves the same, which is to say I can't drag the window to detach it either.
The project seems to provide all the correct windows and controllers and implements the detachableWindowForPopover:
delegate method. However the method is never called.
Does anyone know the secret to detachable NSPopovers?
macos - 如何在另一个窗口的按钮旁边显示 NSPopover?
我在一个名为Moom的应用程序中看到了这个功能。
这看起来像这样:
有没有一种干净的方法来以这种方式装饰窗口,或者我应该创建某种恰好位于最大化按钮顶部、透明或带有 0x0 框架的应用程序,并在此应用程序中创建一个 NSPopover ?
objective-c - 单击外部视图时使菜单栏视图不隐藏
我会马上附上一张照片,这样我们都在同一页上。这是我的申请...
我试图使 NSPopover 可点击,但无论它设置为应用程序的什么行为仍然隐藏,因为点击超出了菜单视图边界。
我想知道是否有人对如何使菜单视图保持打开状态(即使在单击其边界之外)或以另一种方式使弹出框可单击有任何想法。谢谢!