问题标签 [nsvisualeffectview]

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 回答
554 浏览

macos - 使 viewController 的视图成为 NSVisualEffectsView

我在情节提要上创建了一个新的 viewController。我希望 viewController 的视图通过窗口显示。因此,据我了解,我必须将该视图转换为 NSVisualEffects 视图。

我如何使用界面生成器来做到这一点?

我已经在该视图上使用界面构建器添加了很多对象,因此,使用界面构建器解决这个问题会很好。

谢谢

0 投票
0 回答
906 浏览

cocoa - Cocoa:当图层支持的 NSView 阴影添加到 NSWindow 的 contentView 时,NSVisualEffectView 上组件的背景渲染不正确

在此处输入图像描述

我有一个半透明的 NSView,我用它作为阴影来使主窗口变暗,而模态窗口在我的 Cocoa 应用程序(OS X Yosemite)中显示为工作表。

有关独立的示例项目,请参阅下面的更新部分。

阴影会正确显示,但在它覆盖视图层次结构中较低的其他组件的地方,这些组件的背景变得可见并呈现为半透明(虽然它们应该保持完全透明)。

在上面的屏幕截图中,您可以看到阴影覆盖了进度指示器(小方块)和 NSTextField(标签)的一半。纸张覆盖的一半与背景渲染不正确;另一半正常渲染。

视图层次结构中较低的组件位于 NSVisualEffectView 上,设置为“窗口后”、材质光和外观 Vibrant Light 的混合模式,并且 setWantsLayer 设置为 true。

我有一种感觉,关于基于层的 NSVisualEffectViews 和 NSViews 之间的组合交互,我缺少一些东西。

感谢您对可能导致错误渲染的原因的想法,因为我对 Cocoa 的复杂性仍然很陌生。谢谢!

更新

我刚刚制作了一个快速隔离的测试用例来演示这个问题。你可以从这里克隆它

它还演示了一个带有 alpha(角指示器)而不是另一个(星形)的图像发生的问题

孤立测试的屏幕截图,显示了合成伪影

解决方法

感谢Daniel Chote参见推文),解决方法是手动将所有组件的背景颜色设置为透明。正如丹尼尔所说,“可怕的解决方案”,但至少是一个解决方案:)

(请务必记住在摸索它为什么仍然无法正常工作之前打开绘图背景。):)

如果有人有更好的解决方案,我会全力以赴。稍等一下,如果我什么都没听到,我会提交雷达。

0 投票
1 回答
933 浏览

macos - 如何在 Layer Host NSView 中使用 NSVisualEffectView

我在我的 OSX 应用程序中有一个 NSView 使用 CALayer 做各种动画。这个视图是一个包含许多小层的层主视图。

我想用 NSVisualEffectBlendingModeBehindWindow blendingMode 添加一个 NSVisualEffectView 来支持 Yosemite 上的模糊透明效果。

问题是当我关闭图层主机视图时,NSVisualEffectView 工作,但是当我打开图层主机视图时,模糊透明效果消失,留下空白的白色不透明背景。

我的问题是:“是否可以将 NSVisualEffectView 与 Layer 主机视图一起使用?如果可行,这里的方法是什么?”

0 投票
1 回答
903 浏览

xcode - 在 NSVisualEffectView 上混合

我想用 HardLight 合成操作绘制图像。我用下一个绘制代码创建了 NSImageView:

}

在通常情况下,它运作良好。但它不适用于 NSVisualEffectView。

如何在 NSVisualEffectView 上混合 HardLight?

在下面链接的图像中,您可以看到将 HardLight 混合在窗口背景和彩色图像上的圆角矩形。但是在 NSVisualEffectView (红色底部矩形)上它只绘制灰色。

https://www.dropbox.com/s/bcpe6vdha6xfc5t/Screenshot%202015-03-27%2000.32.53.png?dl=0

0 投票
0 回答
210 浏览

macos - 带有标签视图控制器的 NSVisualEffectView 使用情节提要

我在我的应用程序和TabViewController三个选项卡中使用故事板。当我放入NSVisualEffectView我的视图时它工作正常,但是当我移动我的窗口时,我的VisualEffectView开始消失了。

我的视觉效果设置是:在窗口后面,暗一个活动。我使用 IB 将它们放在我的视图中。

如果我只使用一个视图而没有TabViewController NSVisualEffectView工作就好了,但这会TabViewController引起麻烦。有人可以帮忙吗?

0 投票
1 回答
798 浏览

nsview - Swift 允许活力

我如何设置视图以允许在 swift 中充满活力。我正在努力:

但出现错误:方法 'allowsVibrancy()' 与 Objective-C 选择器 'allowsVibrancy' 与来自具有相同 Objective-C 选择器的超类 'NSView' 的 'allowsVibrancy' 的 getter 冲突

甚至:

我可以在 Onjective C 中做到这一点:

有什么想法吗?

0 投票
1 回答
465 浏览

nstableview - 重新创建 FaceTime NSTableview

我正在尝试重新创建与 FaceTime 中相同的外观。左边的表格视图有一个 NSVisualEffectView 在窗口中做一些混合,上面有一个 NSTableView,或者我假设......

我已经能够通过使我的滚动视图、Tableview 和 RowView 透明并且看起来都很棒来实现这一点,但我的问题是我希望每个行项中的文本能够对视觉效果视图的视觉外观做出反应。

我尝试将每个视图(NSTableView、NSScrollView 等)设置为允许活力,但我的颜色(例如 LabelColor)没有对坐在后面的视觉效果视图做出反应......

有没有人在这方面取得任何成功?

0 投票
1 回答
388 浏览

objective-c - Xcode 6 不要将充满活力的效果应用于子视图

大家晚上好!

是否可以将“充满活力”的视觉效果应用于父视图,而子视图不会继承它?

我的主窗口具有应用于整个视图的充满活力的效果,但是当使用 popover segue 显示新视图时,该视图也是透明的。有什么办法可以防止这种情况发生吗?

谢谢!

0 投票
1 回答
304 浏览

cocoa - NSPopover 中的 NSScrollView 模糊

NSScrollView我的应用程序中的 NSPopover 中有几个s。我想创建一个类似 Safari 的模糊,顶部有滚动内容。但是我找不到任何解决方案,因为它是 NSPopover 并且我无法设置样式掩码。我尝试添加一个带有标题高度的空白行并将标题(NSVisualEffectView)定位在NSScrollView(表格视图)上,这种方法有效,但滚动条位于标题下方。那么有没有“正确的方法”呢?

0 投票
2 回答
901 浏览

objective-c - NSVisualEffectView 上的 NSScrollView/NSCollectionView 导致闪烁

我在NSPopoverNSVisualEffectView中有一个NSCollectionView。每次刷新时(添加、删除、重新加载NSCollectionViewItem,甚至只是单击NSCollectionViewItem视图上的按钮),它都会在控件上出现故障。

这是我在打开时尝试获取的屏幕截图:

闪烁

它或多或少是这样的,但只有在重绘发生时:

在此处输入图像描述

此外,如果我在其上放置一个关闭边框的按钮,单击时颜色会消失,就像闪烁一样:

在此处输入图像描述

我试图在不同的视图/控件中设置背景颜色,但是当 NSCollectionView 为空时,它似乎总是黑色/白色(取决于 UI 颜色选择):

在此处输入图像描述

我错过了什么吗?

编辑:

通过scrollView.needsDisplay = false/true在项目更改之前/之后添加将使一些闪烁消失。尽管如此,大多数问题仍然存在。

此外,如果我强制启用水平滚动条或禁用自动调整子视图,添加/删除项目时将不再显示闪烁。