e.J*_*mes 2 cocoa transparency objective-c nswindow cocoa-sheet
默认情况下,Cocoa在应用于窗口时会向透明和半透明模态图纸添加背景模糊效果.我想禁用模糊效果.我该怎么做呢?
我创建了一个自定义工作表(NSWindow的子类,具有透明背景和一些控件).我可以使用标准beginSheet方法显示它,如下所示:
[NSApp beginSheet:myCustomSheet
modalForWindow:mainWindow
modalDelegate:self
didEndSelector:...];
Run Code Online (Sandbox Code Playgroud)
表单显示正常,但它背后的一切都很模糊.
注1:我正在为触摸屏/自助服务终端类型的应用程序编写完全自定义的用户界面,因此没有适用的常用Apple用户界面指南.
注2:我确实想看看表格下面的内容.正如SirRatty指出的那样,可以通过填充背景来阻挡模糊部分.在我的情况下,我希望通过背景显示,只是没有出现模糊.
有一个私有API调用,可用于在窗口的背景上设置CI过滤器:
http://www.mail-archive.com/cocoa-dev@lists.apple.com/msg16280.html
还有一个CGSRemoveWindowFilter:
extern CGError CGSRemoveWindowFilter(CGSConnectionID cid, CGSWindowID wid, CGSWindowFilterRef filter);
请注意,通常的私有API警告适用(可能会消失或将来更改,等等).
| 归档时间: |
|
| 查看次数: |
1429 次 |
| 最近记录: |