2014-01-11 24 views
0

我有我的应用2个tableviews我使用类似的方式,以下面的截图,其中:多NSTableViews选择

Example of App design

我的问题是,我希望能够选择在各列表项并且在控制失去焦点时让选择保持蓝色而不是变成灰色。

我发现如果我重载Tableview的AcceptsFirstResponder方法,我可以保持灰色选择,但这不是应用程序的期望的外观。

有没有人有任何建议,我怎么能做到这一点?我想我可以将灰色变成蓝色,同时保持重载AcceptsFirstResponder方法,但我不确定这是否可能。

干杯, 迈克

回答

1

确保您的NSTableView的是基于视图,并BTW检查NSTableRowView的

- (void)drawSelectionInRect:(NSRect)dirtyRect; 

,我义不容辞地劝你不要这样做:颜色在UI中有意义。这种蓝色的意思是“如果你点击一个键(如向上箭头),这就是接收它的视图。”你的用户会感到困惑。

+0

我会接受你的建议,再看看我是如何实现这一目标的。我在考虑使用NSOutlineView作为最左边的列表,它会给我足够好的外观,同时保持用户界面与其他Mac应用程序的一致性。 –