我来自iOS / Android编程背景,正在开发我的第一个MAC应用程序。我使用NSComboBox
列出了一些用户可以选择的项目,但在设置下拉菜单的背景颜色时遇到了一些问题。
这就是我现在所拥有的。您可以在白色背景中看到下拉列表中的2个选项(忘记蓝色,表示已选中该项目)。我想将白色改为其他颜色
我做了一些搜索并遇到了this个帖子。答案建议继承NSComboBoxCell并覆盖- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
方法。我试了一下..这是我的代码
@interface CustomComboBoxCell : NSComboBoxCell
@end
@implementation CustomComboBoxCell
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView{
[super drawWithFrame:cellFrame inView:controlView];
//I want red color to the dropdown menu, I filled with yellow color
NSRect bounds = NSMakeRect(cellFrame.origin.x, cellFrame.origin.y,
cellFrame.size.width, cellFrame.size.height);
[[NSColor redColor] setFill];
NSRectFill(bounds);
}
@end
这是结果
不是我想要的。 :(
简单,如何更改 NSComboBox
下拉菜单的背景颜色?
任何?
答案 0 :(得分:0)
好吧,我使用了NSButton
菜单,因此我可以将NSMenuItems
用于自定义视图。这不是您真正需要的,但您可以使用NSTextField
,NSButton
和NSMenu
替换组合框。也许这会更容易。
答案 1 :(得分:0)
我玩了一下。这对你有用吗?
如果您想更改单元格中的每个标题,可以设置标记(也在IB中)。