我有一个NSButton,当它突出显示时,我希望有一个不同的背景颜色,而不是它(没有突出显示透明,如果这有任何区别).
目前,我有以下代码
[view setWantsLayer:YES];
NSButton* button = [[NSButton alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[button setBordered:FALSE];
[(NSButtonCell*)[button cell] setHighlightsBy:NSChangeBackgroundCellMask];
[view addSubview:button];
Run Code Online (Sandbox Code Playgroud)
这将在单击时将背景更改为默认窗口背景颜色.如果我删除NSChangeBackgroundCellMask背景消失.
有没有一种简单的方法可以为背景设置不同的颜色,或者这是否需要我继承NSButton?
我正在尝试将iOS应用程序移植到Mac上,并且在转换过程中遇到了一些问题.其中之一是定制NSTableView.究竟是什么区别NSCell,NSTableRowView和自定义NSView基于NSTableview?我最初开始时基于视图NSTableView,但我很快注意到我必须自己处理选择.我无法将其拉下来,所以我继续使用NSTableRowView,奇怪的是,它并没有调用我习惯的初始化器NSTableRowView.
我基本上只想要一个具有自定义内容的自定义表格视图单元格,这是可选择的.最好的方法是什么?
在iOS上,我只是子类UITableViewCell并设置其selectedView属性.在Mac上,这似乎比这更复杂.