gpt4 book ai didi

objective-c - 如何删除 Cocoa 添加到透明纸张的 "blur"效果?

转载 作者:行者123 更新时间:2023-12-03 16:24:54 25 4
gpt4 key购买 nike

默认情况下,当透明和半透明模态表应用于窗口时,Cocoa 会为其添加背景模糊效果。我想禁用模糊效果。我该如何去做呢?

我创建了一个自定义工作表(NSWindow 的子类,具有透明背景和其中的一些控件)。我可以使用标准 beginSheet 方法显示它,如下所示:

[NSApp beginSheet:myCustomSheet
modalForWindow:mainWindow
modalDelegate:self
didEndSelector:...];

工作表显示正常,但其后面的所有内容都很模糊。

注 1:我正在为触摸屏/信息亭类型应用程序编写完全定制的用户界面,因此通常的 Apple 用户界面指南均不适用。

注2:确实想看看床单下面有什么。如SirRatty指出,可以通过填充背景来遮挡模糊部分。就我而言,我想让背景显示出来,但又不显得模糊。

最佳答案

有一个私有(private) API 调用可用于在窗口背景上设置 CI 过滤器:

http://www.mail-archive.com/cocoa-dev@lists.apple.com/msg16280.html

还有一个CGSRemoveWindowFilter:

extern CGError CGSRemoveWindowFilter(CGSConnectionID cid, CGSWindowID wid, CGSWindowFilterRef 过滤器);

请注意,通常的私有(private) API 警告适用(将来可能会消失或更改等)。

关于objective-c - 如何删除 Cocoa 添加到透明纸张的 "blur"效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3420232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com