【发布时间】:2015-05-15 21:13:21
【问题描述】:
Pages (Numbers, Keynote) 中的工具栏有一个带有固定图像的 NSPopUpButton(与选择的菜单无关)。使用视图调试发现这是一个标准的 NSPopUpButton,带有固定的图像。
根据关于setImage: 的 NSPopUpButton 文档,
此方法无效。 弹出按钮单元格中显示的图像取自选定的 菜单项(在弹出菜单的情况下)或从第一个菜单项 (在下拉菜单的情况下)。
这意味着这个标准 NSPopUpButton 具有非标准行为。
如何实现?因为setImage: 没有效果,子类化 NSPopUpButtonCell 并覆盖-drawImage:withFrame:inView: 没有效果(因为它从不被调用)。
【问题讨论】:
-
我成功地将弹出按钮从
Pop up设置为Pull down,这只是IB中设置的另一种操作模式。但是我的按钮位于窗口中,不知道工具栏是否显示不同的行为 -
你是说你的弹出按钮的图片是静态的吗?我不确定这怎么可能,因为它与文档冲突。我知道要获得下拉行为,您只需设置
Pull down。 -
然后图像是静态的……至少对我来说是这样。我已经在 IB 中完全设置了它,分配了一个图像,设置为下拉,然后它对我有用。
-
您是否还在 IB 中添加了一个菜单,还是以编程方式加载了该菜单?这很有趣,因为我发现了非常不同的行为。
标签: objective-c macos cocoa nspopupbutton