首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用NSVisualEffectView时添加按钮

如何在使用NSVisualEffectView时添加按钮
EN

Stack Overflow用户
提问于 2017-03-13 22:55:32
回答 2查看 813关注 0票数 3

我已经创建了一个窗口使用NSVisualEffectView获取模糊和圆角。就像here

问题是,当我有NSVisualEffectView代码时,我看不到窗口中的按钮。如果我删除了代码,就会显示按钮。出什么问题了?

NSVisualEffectView代码( AppDelegate.swift: )

代码语言:javascript
复制
func applicationDidFinishLaunching(_ aNotification: Notification) {
        // Insert code here to initialize your application
        guard let window = NSApplication.shared().windows.first else { return }
        let effect = NSVisualEffectView(frame: NSRect(x: 0, y: 0, width: 0, height: 0))
        effect.blendingMode = .behindWindow
        effect.state = .active
        effect.material = .dark
        effect.wantsLayer = true
        effect.layer?.cornerRadius = 15.0
        effect.layer?.masksToBounds = true
        window.isOpaque = false
        window.backgroundColor = .clear
        window.contentView = effect
        window.titlebarAppearsTransparent = true
        window.titleVisibility = .hidden
    }

我在故事板上加了一些按钮。当我运行这个项目时,我没有看到任何按钮。

当我从applicationDidFinishLaunching(_ aNotification: Notification)中删除所有东西--即NSVisualEffectView代码--时,我可以看到按钮。

有人能告诉我发生了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-14 03:54:55

我想我应该在你的previous question里纠正你,但我没有。

您正在使用Storyboard,那么为什么要在代码中创建NSVisualViewEffect变量呢?

在右侧面板(实用程序面板)中搜索nsvisualeffectview,在其中搜索按钮等(对象库)。

拖动它并根据主视图控制器调整大小。

若要添加模糊效果和模式,请转到“实用程序面板”中的"Attribites检查器“。

并设置window.backgroundColor = .clearwindow.isOpaque = false

代码语言:javascript
复制
func applicationDidFinishLaunching(_ aNotification: Notification) {
        // Insert code here to initialize your application
        guard let window = NSApplication.shared.windows.first else { return }
        window.isOpaque = false
        window.backgroundColor = .clear
}

现在您可以添加按钮、文本字段并运行项目。您可以看到所有添加的元素。

希望能帮上忙!

票数 2
EN

Stack Overflow用户

发布于 2017-03-14 00:08:36

window位于您要添加按钮的视图之上,因此这些按钮位于模糊窗口之下,因此无法看到。为什么不将visualEffectView添加到与按钮相同的视图中呢?您需要将其插入按钮下面,以使按钮可见。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42774922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档