おそらくNSWindow'ssetOpaque:
を試してみて、あなたはまた、透明色(setBackgroundColor:
)で、ウィンドウの背景色を設定する必要が
ここでは、私はちょうどでした私の迅速なサンプルです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.
}
次は私が窓のcontentView研を設定しましたmyViewのance。私は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.
をそして、これは私が得るものです。
Window with partially transparent http://i44.tinypic.com/a41jxi.jpg
だから私が言ったように、あなたが実際にが描かれ必要性を行う部分を再描画し、その後、背景として目に見えない色を使用するウィンドウを指示する必要があります。
私はそれについて考えましたが、NSWindow全体に設定されているのはその一部だけではありません。 – acreek
「NSWindow全体」とは、「タイトルバー+コンテンツ」またはすべてのコンテンツ領域を意味しますか?私はあなたがウィンドウのコンテンツの一部を透明に設定することはできないと思っています。あなたはすべて透明にし、透明にしたくないものを描画する必要があります。 –
@acreek:ウィンドウの一部を透明にしたいときは '[mywindow setOpaque:NO]'を呼び出すのが理にかなっていると思います。 'setBackgroundColor:'を呼び出す必要があるかもしれません。ドキュメントは確かに明確になりました。 – JWWalker