メニューバー アプリの特定の外観を構築しようとしています。
スタイルマスクと設定で を使用NSWindow
してきましたと. これにより、タイトル バーに最適な空白のキャンバスが得られます。NSBorderlessWindowMask
[window setOpaque:NO]
[window setBackgroundColor:[NSColor clearColor]]
NSTableView
現在、リストに使用しているビューベースに問題があります。NSTableCellView
s をウィンドウの丸い角にクリップするにはどうすればよいですか?
をラップするカスタムビューをNSTableView
作成し、角を丸くして背景を描画することから始めました。ただし、使用[view addClip:path]
しても子ビューはクリップされません。
[view setWantsLayer:YES]
マスクと一緒に使ってみました。これはうまく機能しましたが、テーブル ビューのセルが散発的に不具合を起こしていました。レイヤーの子になることNSScrollView
は既知の問題のようです。
私の現在のビュー構造は次のようになります。
NSWindow
- MyTitleBarView
- MyBackgroundView
- NSScrollView
- NSTableView