问题标签 [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.

0 投票
1 回答
99 浏览

macos - 返回 NSOutlineView 中选定行的位置

我有一个 NSOutlineView,当双击大纲视图中的一行时,会使用以下代码显示一个 NSPopover:

该代码工作正常,但将弹出框放置在大纲视图的垂直高度的中间。我希望弹出窗口出现在大纲视图中选择(双击)的行旁边。我可以调用大纲视图来返回所选行的位置吗?我似乎在文档中找不到这样的方法。显然我会替换 [nid bounds] 这样的调用。否则,我将不胜感激有关如何解决此问题的任何其他建议。

0 投票
1 回答
172 浏览

objective-c - 跟踪 NSPopover 的子视图中是否有 mousedown/up

这是我当前的对象层次结构:一个视图有一个打开一个按钮NSPopover,其中包含另一个视图(An NSControl

我正在监听我的 mouseup 事件NSPopover,此时我关闭了我的NSPopover.

但是,如果我在其中,我不希望它关闭NSControl(即,如果在 中存在 mousedown/mouseup 事件NSControl

所以我的计划是确定何时在控件上找到 mouseup/down 事件,然后忽略NSPopoverNSPopover

以前有人做过这样的事情吗?有任何想法吗?提前致谢!

0 投票
2 回答
535 浏览

objective-c - 无法在 NSPopover 中设置内容

我在 NSView 中显示了一个 NSPopover,它源自 NSBezierPath 上的一个点。我可以毫无问题地显示弹出框,但我似乎无法在其中设置两个文本字段的字符串值。弹出框和内容视图分别是 NSPopover 和 NSViewController 的自定义子类。NSPopover 子类也是 NSPopover 的委托,虽然我没有实现任何委托方法,所以我什至不确定是否需要这样做。

这是我的 NSViewController 子类:

还有我的 NSPopover 子类:

这是我的 NSView 子类中打开弹出框的代码:

WeightPopoverViewController.xib中,我已将视图设置File's OwnerWeightPopoverViewController并将视图连接到自定义 NSView。在这个 xib 中,我还设置了一个对象,WeightPopoverController其中 dateLabel 和 weightLabel 连接到它们的文本字段,并且 contentViewController 设置为File's Owner

我认为我出错的地方可能与我如何为 NSPopover 配置我的类/实例变量有关,但是从我所做的研究和我读过的文档来看,我似乎无法破解我去过的地方错误的。任何帮助,将不胜感激。

更新:

我从代码和 IB 中删除了 NSPopover 子类。我将我的插座放在我的 NSViewController 中并将它们连接到 IB 中。但是,我仍然无法设置字符串值。以下将不会编译错误“在 NSPopover * 类型的对象上找不到属性 'weightLabel'”。

我的属性定义与我在 NSPopover 子类中的完全一样,但现在在我的 NSViewController 中。这实际上是我以前所拥有的,由于我无法从 NSViewController 设置属性,我想我需要通过 NSPopover 的子类来完成。这就是为什么我认为我在配置类/实例变量方面存在问题。

0 投票
1 回答
161 浏览

cocoa - 我应该为 NSPopover 中的文本使用哪种 NSColor?

NSPopovers 中文本的正确 NSColors 是什么(在 iTunes 12 中显示)?我没有在 HIG 中找到此信息,我不确定如何找出其他信息(将数字色度计中的颜色值与某处的列表匹配?)这是一个屏幕截图:

http://imgur.com/dSFYcla

0 投票
2 回答
2661 浏览

objective-c - 优胜美地深色中的 NSPopover 颜色反转

我正在使用NSPopover,当我将系统停靠颜色更改为深色(优胜美地新功能)时,我视图中的某些元素会反转它们的颜色。

例如,一些标签从黑色变为灰色,或者文本字段背景从白色变为黑色。如果我有一个白色背景的视图,它现在会变成模糊的黑暗效果。

所以两个问题:

  1. 我可以取消此行为并强制 UI 在常规模式下运行吗?

  2. 这里有什么规则可以让哪个元素反转它们的颜色吗?

因为似乎有些元素发生了变化,有些则没有。

这是我在优胜美地常规模式下的应用程序:

在此处输入图像描述

这是在优胜美地黑暗模式下:

在此处输入图像描述

0 投票
2 回答
474 浏览

xcode - NSStatusItem 应用焦点

我的菜单栏应用程序如何实现与 1Password 或 Dropbox 相同的行为:

  • 单击他们的菜单栏图标或弹出框不会窃取焦点,例如,当我在 TextEdit 中并打开 1Password/Dropbox 时,闪烁的光标会消失,但窗口本身不会进入背景,但我可以在 1Password 的文本字段中输入。
  • 即使它们一开始并没有集中注意力,当我单击返回另一个应用程序时它们也会消失

我通过使用带有选项 MouseEnteredAndExited、AssumeInside 和 ActiveAlways 的 NSTrackingArea 了解了鼠标悬停在 Dropbox 弹出表视图中的工作原理。

我试图在从 NSStatusItem 打开的 NSPopover 中获得相同的行为。

0 投票
1 回答
772 浏览

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:

这就是水色风格的样子。没有透明度和黑色文本。

在此处输入图像描述

0 投票
1 回答
1537 浏览

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?

0 投票
2 回答
371 浏览

macos - 如何在另一个窗口的按钮旁边显示 NSPopover?

我在一个名为Moom的应用程序中看到了这个功能。

这看起来像这样: Moom 捕获

有没有一种干净的方法来以这种方式装饰窗口,或者我应该创建某种恰好位于最大化按钮顶部、透明或带有 0x0 框架的应用程序,并在此应用程序中创建一个 NSPopover ?

0 投票
1 回答
332 浏览

objective-c - 单击外部视图时使菜单栏视图不隐藏

我会马上附上一张照片,这样我们都在同一页上。这是我的申请...

在此处输入图像描述

我试图使 NSPopover 可点击,但无论它设置为应用程序的什么行为仍然隐藏,因为点击超出了菜单视图边界。

我想知道是否有人对如何使菜单视图保持打开状态(即使在单击其边界之外)或以另一种方式使弹出框可单击有任何想法。谢谢!