Macos 有关于自定义NSCOMBOX的例子吗?
我被要求实现如下组合框: 很明显,这与NSComboBox有很大的不同:Macos 有关于自定义NSCOMBOX的例子吗?,macos,cocoa,nscombobox,Macos,Cocoa,Nscombobox,我被要求实现如下组合框: 很明显,这与NSComboBox有很大的不同: 文本字段旁边的按钮应该是自定义的 这一点更为重要:每个组合项中都有一个额外的“叉”(表示“删除”操作的按钮) 我怎样才能达到这个效果?我在网上搜索,但没有找到答案。有谁能告诉我应该怎么做,或者告诉我子类化或自定义NSCOMBOX类的任何示例吗?NSCOMBOX是一个视图,但由于一些原因,我在此不赘述,它的接口由一个附带的单元格类绘制:。对于自定义图形,通常必须对单元类型(在本例中为nscomboxcell)进行子类化,在
文本字段旁边的按钮应该是自定义的
这一点更为重要:每个组合项中都有一个额外的“叉”(表示“删除”操作的按钮)
我怎样才能达到这个效果?我在网上搜索,但没有找到答案。有谁能告诉我应该怎么做,或者告诉我子类化或自定义NSCOMBOX类的任何示例吗?NSCOMBOX是一个视图,但由于一些原因,我在此不赘述,它的接口由一个附带的单元格类绘制:。对于自定义图形,通常必须对单元类型(在本例中为nscomboxcell)进行子类化,在自定义单元子类中实现所需的所有图形,然后使视图通过
-setCellClass:
或-setCell:
方法使用单元
但是,在本例中,NSComboBox继承自NSTextField,而NSComboBoxCell继承自,因此两者都已经实现和;因此,绘制白色背景和蓝色文本应该相当容易
我不确定NSCOMBOX是如何绘制“下拉菜单”的,我看不到任何定制方法,但我相信这是可能的。您可能需要在NSCell的绘图方法中四处玩转才能看到
- ,
- ,
实现类似于NSPopover的东西会容易得多。popover拥有一个视图,因此您不必在NSCell方法中乱来。popover可以包含姓名列表和NSButton(十字架)。Wow,nspover!我以前用过。但是popover有一个小三角形,我不想把它模拟成下拉菜单。我能把它拿走吗?不,我不这么认为。如果窗口为HUD,但仍有指针,则可以更改样式。子类化组合框似乎是您唯一的选择。NSMenu如何?我正在搜索是否可以自定义整个NSMenuItem的外观并添加一个滚动支持按钮可以启动菜单,菜单现在可以包含视图,所以原则上您可能希望查看。但是菜单支持滚动吗?