作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
默认情况下,当透明和半透明模态表应用于窗口时,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/
我是一名优秀的程序员,十分优秀!