acr*_*eek 9 macos cocoa objective-c
我正在osx中制作放大镜样式的应用程序以获得乐趣,我遇到了一个障碍,我似乎无法找到答案.
我在NSWindow中有一个NSView我将视图设置为clearColor,alpha设置为.25,但我无法弄清楚如何使NSWView在NSView后透明,这样你就可以在应用程序选中时看到应用程序下面的内容.
通过doc's挖掘似乎无法找到我正在寻找的任何想法?
谢谢
小智 21
也许试试NSWindow setOpaque:,你还需要用透明的颜色设置窗口的背景颜色(setBackgroundColor:)
这是我刚刚做的快速示例:
自定义NSView名为myView:
-(void)drawRect:(NSRect)dirtyRect
{
[[NSColor windowBackgroundColor] set]; // Using the default window colour,
dirtyRect.size.width /= 2;
NSRectFill(dirtyRect); // Only draw the part you need.
}
Run Code Online (Sandbox Code Playgroud)
接下来,我设置一个窗口的contentView一个myView实例.我是在IB中完成的,但您可以手动设置它setContentView.
我配置了这样的窗口:
[myWin setOpaque:NO]; //Tells the window manager that the window might have transparent parts.
[myWin setBackgroundColor:[NSColor colorWithCalibratedWhite:1.0 alpha:0.0]]; //Tells the window to use a transparent colour.
Run Code Online (Sandbox Code Playgroud)
这就是我得到的.
部分透明的窗口http://i44.tinypic.com/a41jxi.jpg
所以,就像我说的,你需要告诉窗口中使用一种无形的颜色作为背景,然后重绘你居然零件都需要绘制.
| 归档时间: |
|
| 查看次数: |
5824 次 |
| 最近记录: |