当选择股票NSTableView的行/单元格时,其背景变为蓝色,任何标准NSTextfields文本颜色变为白色。
是否有公共API可以让您在选择封装行视图或单元格视图时获取消息?基本上,我想创建一个自定义视图,在选择行/单元格时更改颜色。
答案 0 :(得分:1)
您可以使用NSTableViewDelegate。您可以使用 tableViewSelectionDidChange为此。请参考此https://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSTableViewDelegate_Protocol/#//apple_ref/occ/intfm/NSTableViewDelegate/tableViewSelectionDidChange :.
答案 1 :(得分:1)
表格单元格没有被选中。 NSTableRowView
有一个selected
属性。
我认为你应该依赖于你的视图被要求绘制(即被标记为需要显示)当行改变是否被选中时。然后,它可以查询其封闭行视图的属性,以确定它应该绘制的 。
也就是说,您不一定要使用行的selected
属性来决定如何绘制。相反,您经常应该使用行的interiorBackgroundStyle
。或者,如果您使用NSTableCellView
进行单元格查看,请检查其backgroundStyle
。在许多情况下,你不必检查;如果他们支持,则单元格视图会将backgroundStyle
的设置转发到其子视图。