【问题标题】:Rounded corners white background frame圆角白色背景框架
【发布时间】:2018-12-27 02:24:25
【问题描述】:

我是 Cocoa 的新手,需要一些帮助。 我的应用中有圆角图层,但我无法将角设置为透明。

这是我的代码

    guard let window = NSApplication.shared.windows.first else { return }
    let effect = NSVisualEffectView(frame: NSRect(x: 0, y: 0, width: 0, height: 0))
    effect.blendingMode = .withinWindow
    effect.state = .active
    effect.material = .dark
    effect.wantsLayer = true

    effect.layer?.cornerRadius = 15.0
    effect.layer?.masksToBounds = true
    window.isOpaque = true
    window.backgroundColor = .clear
    window.contentView = effect
    window.titlebarAppearsTransparent = true
    window.titleVisibility = .hidden
    window.isMovableByWindowBackground = true

现在尝试一切可能的好几个小时,非常感谢初学者的一些帮助。谢谢。

【问题讨论】:

  • 可以考虑加window.styleMask = .borderless
  • 不幸的是相同的结果:(
  • 用 UIVisualEffectView 替换 NSVisualEffectView 因为在 swift 4 中没有 NSVisualEffectView 那为什么要试试?

标签: swift macos cocoa rounded-corners


【解决方案1】:

在您的applicationDidFinishLaunching 方法中确保窗口是透明的:

window.isOpaque = false

而且你的背景颜色很清晰:

window.backgroundColor = .clear

如果window.backgroundColor = .clear不起作用,请尝试

window.backgroundColor = NSColor(red: 1, green: 0.5, blue: 0.5, alpha: 0.5)

您的问题不清楚您的代码采用什么方法。如果它采用错误的方法,则可能无法正确识别(不一定会引发错误)。

【讨论】:

    猜你喜欢
    • 2011-12-02
    • 1970-01-01
    • 2014-06-05
    • 2010-12-27
    • 2021-11-10
    • 2020-06-28
    • 2013-04-28
    • 2020-03-27
    • 2020-11-10
    相关资源
    最近更新 更多