macos – 从NSVisualEffectView活跃中选择退出无边框NSButton

macos – 从NSVisualEffectView活跃中选择退出无边框NSButton,第1张

概述我有一个带有活力的NSVisualEffectView,包含文本字段(NSTextField或NSComboBox)和无边框按钮.按钮位于文本字段上方,我想禁用无边框按钮上的活力效果,因为它们应该出现在文本字段的白色背景上. 根据NSVisualEffectView类引用中的建议,我尝试做的是将我的NSButton包装在另一个NSVisualEffectView中,并将其状态设置为Inactive 我有一个带有活力的NSVisualEffectVIEw,包含文本字段(NSTextFIEld或NSComboBox)和无边框按钮.按钮位于文本字段上方,我想禁用无边框按钮上的活力效果,因为它们应该出现在文本字段的白色背景上.

根据NSVisualEffectVIEw类引用中的建议,我尝试做的是将我的NSbutton包装在另一个NSVisualEffectVIEw中,并将其状态设置为Inactive.这样做是用浅灰色背景取代“充满活力”的背景.

下图说明了这一点.第一个字段是我尝试的解决方案,第二个字段显示无边框按钮的默认行为,作为NSVisualEffectVIEw的子节点.

我还尝试了子类化NSbutton并将其单元格背景颜色设置为白色或透明但我总是得到灰色背景.

如何将浅灰色背景更改为白色或透明背景?
谢谢

解决方法 经过几个小时的头痛,我自己解决了这个问题.该解决方案不需要将按钮包装在NSVisualEffectVIEw中.简单地继承NSbutton并重写allowVibrancy属性并将其设置为false就足够了.

在Swift中:

overrIDe var allowsVibrancy: Bool { return false }
总结

以上是内存溢出为你收集整理的macos – 从NSVisualEffectView活跃中选择退出无边框NSButton全部内容,希望文章能够帮你解决macos – 从NSVisualEffectView活跃中选择退出无边框NSButton所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1013659.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存