我想要一個類似QuickTime X窗口的窗口。全圓角的不透明窗戶。NSWindow:替代-setOpaque:NO
我獲得它實現自定義的無邊框NSWindow
有:
[window setOpaque:NO];
[window setBackgroundColor: [NSColor clearColor]];
和一個自定義NSView
有:
- (void)drawRect:(NSRect)rect
{
NSBezierPath* thePath = [NSBezierPath bezierPath];
[thePath appendBezierPathWithRoundedRect:rect xRadius:radius yRadius:radius];
[thePath fill];
}
它將按預期工作,但窗口變得明顯減慢,當它被調整快速。
我發現這種放緩是由-setOpaque:NO
給出的;如果我刪除該行,窗口可以再次快速調整大小,但角落顯然不會更圓。
有沒有辦法避免使用-setOpaque:NO
,仍然能夠有圓角?也許人們可以擁有一個除角落以外都是不透明的窗戶?
該視圖是NSOpenGLView
,所以我可以利用OpenGL,如果它可以幫助。
我做到了,但它不工作,因爲它適用的透明度甚至被託管的所有視圖窗口 – Andrea3000 2012-02-29 14:20:15