如何像 Apple Pro Apps 一样自定义 NSMenu?

Posted

技术标签:

【中文标题】如何像 Apple Pro Apps 一样自定义 NSMenu?【英文标题】:How to customize NSMenu like the Apple Pro Apps? 【发布时间】:2011-02-02 12:55:18 【问题描述】:

我想用NSMenuItems 自定义NSMenu,所以它看起来像Apple Pro 应用程序。

但是如何自定义NSMenu?没有绘制方法来改变外观。 如果我将NSView 设置为NSMenuItem,我可以设置背景颜色,但我会失去突出显示和菜单处理。此外,NSMenu 的顶盖和底盖无法定制。

我只找到this hint,可惜没有代码。

我会很高兴得到一些帮助!

【问题讨论】:

你自定义NSMenu成功了吗? 我找到了sources of NSMenu and others。不过,我在那里找不到有用的提示。 我想知道在 in this thread 中提到的 MenuRef_NSGetCarbonMenu() 是否会有所帮助。 想发布一张截图来说明您要完成的工作吗? @JJD 您找到的源代码用于 GNUStep - 完全独立于 Apple 的 Cocoa 开发,尽管旨在实现相同的 api(嗯,针对 OpenStep/现代 Cocoa 的某些组合)。考虑 GNUStep 源代码可能很有启发性,但请记住,未记录的案例,甚至记录的案例,可能表现不同。 【参考方案1】:

很难的答案是,创建自己的子类 NSMenu、NSMenuItem 等并手动处理绘图、动画等。

【讨论】:

以上是关于如何像 Apple Pro Apps 一样自定义 NSMenu?的主要内容,如果未能解决你的问题,请参考以下文章

如何像 Apple 一样突出显示 UIView

为 iOS7 自定义 UIDatePicker 的文本颜色(就像邮箱一样)

WKInterfaceTable:像股票邮件应用一样滑动编辑

如何像 uitableviewcell 一样重用/回收自定义元素?

如何像 Twitter 一样自定义 UITableViewCell?

如何像 Apple Maps 一样获取 TripAdvisor 照片