在 NSTableview 中设置单元格角半径
Set cell corner radius in NSTableview
有没有办法在 NSTableView
中的单元格上制作圆角(最好是阴影)?我找到了一种在 NSScrollView
上获得圆角的方法
scrollView.wantsLayer = true
scrollView.layer?.cornerRadius = 20
但我无法让它在实际的单元格上工作。
编辑。
func numberOfRows(in tableView: NSTableView) -> Int {
return names.count
}
func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
return names[row]
}
我在单元格中有 3 个标签,每个标签都使用 Bind To
-> Table Cell View
在 Model Key Path
中我有 objectValue.theValueIWantToDisplay
使用基于视图的 NSTableView
呈现 table 视图行和 table 视图单元格(它们是不同的,前者是后者的父级)完全是直到一个视图。只需将它们子类化为任何其他视图并使用其许多自定义点。
如果不进行子类化,您应该能够使用 -[NSView setWantsLayer:]
,然后使用 -[NSView layer]
、-[CALayer setCornerRadius:]
和 -[NSView setShadow:]
来达到预期的效果。要自定义,请执行 -[NSTableViewDelegate tableView:viewForTableColumn:row:]
and/or -[NSTableViewDelegate tableView:rowViewForRow:]
.
有没有办法在 NSTableView
中的单元格上制作圆角(最好是阴影)?我找到了一种在 NSScrollView
scrollView.wantsLayer = true
scrollView.layer?.cornerRadius = 20
但我无法让它在实际的单元格上工作。
编辑。
func numberOfRows(in tableView: NSTableView) -> Int {
return names.count
}
func tableView(_ tableView: NSTableView, objectValueFor tableColumn: NSTableColumn?, row: Int) -> Any? {
return names[row]
}
我在单元格中有 3 个标签,每个标签都使用 Bind To
-> Table Cell View
在 Model Key Path
中我有 objectValue.theValueIWantToDisplay
使用基于视图的 NSTableView
呈现 table 视图行和 table 视图单元格(它们是不同的,前者是后者的父级)完全是直到一个视图。只需将它们子类化为任何其他视图并使用其许多自定义点。
如果不进行子类化,您应该能够使用 -[NSView setWantsLayer:]
,然后使用 -[NSView layer]
、-[CALayer setCornerRadius:]
和 -[NSView setShadow:]
来达到预期的效果。要自定义,请执行 -[NSTableViewDelegate tableView:viewForTableColumn:row:]
and/or -[NSTableViewDelegate tableView:rowViewForRow:]
.