我一直在尝试为我的菜单栏应用程序构建一个特定的外观。
我一直在使用NSWindow
带有NSBorderlessWindowMask
样式蒙版和设置的 a[window setOpaque:NO]
和[window setBackgroundColor:[NSColor clearColor]]
. 这给了我一个空白画布,非常适合标题栏。
现在我在NSTableView
用于列表的基于视图的问题上遇到了问题。如何将NSTableCellView
s 剪辑到窗口的圆角?
我开始只是有一个自定义视图包裹NSTableView
,用圆角绘制背景。虽然使用[view addClip:path]
不会剪辑子视图。
我也试过用[view setWantsLayer:YES]
带面具的。这很好用,但表格视图单元格会偶尔出现故障。似乎拥有NSScrollView
一个层的子层是一个已知问题:
我当前的视图结构看起来像:
NSWindow
- MyTitleBarView
- MyBackgroundView
- NSScrollView
- NSTableView