【问题标题】:Make NSButton translucent使 NSButton 半透明
【发布时间】:2017-04-29 13:07:52
【问题描述】:

我在 NSVisualEffectView 上有 2 个 NSButton。第一个按钮图像是系统 NSEnterFullScreenTemplate 图像。第一个按钮上的图像是半透明的。

在第二个按钮上,我在 Assets.xcassets 中导入了一张图片。在第二个按钮上,图像不是半透明的(它保持白色)。

如何让这张图片也变成半透明的?

【问题讨论】:

  • 你尝试过继承 NSButton 吗?添加一个子视图 - 一个 NSVisualEffectView - 与按钮大小相同?
  • 还没有,我想既然它适用于 NSEnterFullScreenTemplate 图像,我可能错过了一些让它与自定义图像一起工作的东西
  • 好的。有一次我在视图中添加了一个 UITabBar,发现集合视图上的模糊从模糊图像变为全灰色。 (那时我发现了 CoreImage 的好处!)实施我的建议可能不需要太多时间 - 但缺点是只有按钮有模糊。祝你好运!

标签: swift macos cocoa nsbutton nsvisualeffectview


【解决方案1】:

通过在NSImage 上使用template 设置:

button.image.isTemplate = true

【讨论】:

  • 非常感谢! NSTextField 也可以这样做吗?
  • NSTextField 可以通过将textColor 设置为NSColor.labelColorNSColor.secondaryLabelColor 来变得生动。有关如何使用NSVisualEffectView 实现活力的更多信息,请参阅 WWDC 2014 Session 220:developer.apple.com/videos/play/wwdc2014/220
猜你喜欢
  • 1970-01-01
  • 2018-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 2011-08-31
  • 2011-11-18
相关资源
最近更新 更多