【问题标题】:Transparent rounded window but with opaque controls透明的圆形窗口,但带有不透明的控件
【发布时间】:2011-10-23 22:18:18
【问题描述】:

我正在尝试制作一个带有透明圆形窗口和不透明控件的 HUD,这在 Xcode 弹出窗口、本机音量控制等应用程序中很常见。

我正在使用此处详述的技术:How to implement HUD-style window like Address Book's "Show in Large Type" 但这会使视图中的控件透明。我已经在控件上尝试了 setAlphaValue:1.0 但这没有效果。对其他解决方案的搜索指向 Matt Gemmell 的 RoundedFloatingPanel 组件。我无法在 Xcode 4 中打开项目,但据我所知,查看代码唯一的区别似乎是在 Matt 的代码中,他将窗口的 alpha 设置为 1.0,并对 NSRect 中的 NSRect 使用透明填充看法。我试过了,但最终还是得到了透明控件。

【问题讨论】:

    标签: cocoa


    【解决方案1】:

    不出所料,Matt Gemmell 的代码运行良好,但我犯了一个错误。我忘记了我还在代码中的其他地方弄乱了窗口的 alpha,以使其在关闭时淡出。

    总结一下遇到此问题的其他人,如果您在 NSWindow 上设置 alpha,则该窗口中的控件也将是透明的。而是在 NSView 中的 NSBezierPath 填充颜色上设置 alpha。就像 Matt Gemmell 的代码一样。 :)

    【讨论】:

    • 酷@stdout。我也有这个问题。您应该以这种方式接受自己的答案!谢谢
    猜你喜欢
    • 2010-12-26
    • 2018-12-26
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多