QuickTime X ウィンドウのようなウィンドウが必要です。丸みを帯びた角を持つ完全に不透明な窓。
カスタムボーダレス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 を活用できます。