相关疑难解决方法(0)

MAAttachedWindow背后的模糊背景?

只是好奇这是否可行.现在这是样本的MAAttachedWindow样子:

在此输入图像描述

但是,我想知道我是否可以模糊窗口背后的背景,如下所示:

在此输入图像描述

这可能不使用私有API吗?


请求代码.那么,这就是MAAttachedWindow的工作原理.你只需要为它提供一个自定义的NSView,剩下的就是它.所以,这就是我试图模糊的方式:

CALayer *backgroundLayer = [CALayer layer];
[view setLayer:backgroundLayer];
[view setWantsLayer:YES];
CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[blurFilter setDefaults];
[view layer].backgroundFilters = [NSArray arrayWithObject:blurFilter];
Run Code Online (Sandbox Code Playgroud)

macos cocoa objective-c

5
推荐指数
1
解决办法
1443
查看次数

如何使用NSVisualEffectView将窗口与背景混合

对于旧版本的Swift/Xcode,似乎有很多问题,但由于某种原因,它还没有使用最新的更新.我创建了一个NSVisualEffectView,blurryView,并将子视图添加到我的主视图中:

class ViewController: NSViewController {
    @IBOutlet weak var blurryView: NSVisualEffectView! 
    override func viewDidLoad() {
        super.viewDidLoad()

        //background styling
        blurryView.wantsLayer = true
        blurryView.blendingMode = NSVisualEffectBlendingMode.behindWindow
        blurryView.material = NSVisualEffectMaterial.dark
        blurryView.state = NSVisualEffectState.active

        self.view.addSubview(blurryView, positioned: NSWindowOrderingMode.above, relativeTo: nil)

        // Do any additional setup after loading the view.
    }
...
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,窗口没有任何影响.(当我将它设置在窗口内,并将其叠加在我的另一个视图之上时,模糊工作正常,但我只希望窗口模糊.)我也尝试在App Delegate类中执行相同的操作,但我可以将我的窗口连接为插座,因此无法将模糊视图添加到窗口.这是代码的样子:

class AppDelegate: NSObject, NSApplicationDelegate {
    func applicationDidFinishLaunching(_ aNotification: Notification) {
        // Insert code here to initialize your application

        blurryView.wantsLayer = true
        blurryView.blendingMode = NSVisualEffectBlendingMode.withinWindow
        blurryView.material = NSVisualEffectMaterial.dark
        blurryView.state = NSVisualEffectState.active

        self.window.contentView?.addSubview(blurryView)

    } …
Run Code Online (Sandbox Code Playgroud)

macos cocoa swift swift3

3
推荐指数
2
解决办法
2768
查看次数

标签 统计

cocoa ×2

macos ×2

objective-c ×1

swift ×1

swift3 ×1