NSPopUpButton、NSComboBox 类似菜单

2023-12-31

我正在尝试创建一个带有下拉菜单的菜单,每个单元格都有自定义背景。 首先,我尝试改编 NSPopUpButton 但我找不到更改单元格背景图像的方法。使用 setImage: 会将文本滑动到背景的右侧。接下来我停在 NSComboBox 但我找不到更改箭头按钮的方法。有人可以提供帮助和想法吗?接下来的事情是创建一个自定义控制器,但我想使用已经完成的东西。


要自定义 NSComboBox 中的箭头按钮,您需要创建 NSComboBoxCell 的子类并将组合框设置为使用该单元格。如果您已在 IB 中配置了控件,则可以轻松更改单元格的类别。如果您以编程方式创建组合框,请创建 NSComboBox 的子类,覆盖+ (Class)cellClass并从该方法返回您的自定义 NSComboBoxCell 子类。

现在开始绘图。在你的 NSComboBoxCell 子类中,你需要重写- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView.

(我试过覆盖- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView但它提供的单元格框架没有绘制实际的按钮区域,即它只覆盖了文本输入区域。)

您的定制- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView应该看起来像这样:

- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView {
    [super drawWithFrame:cellFrame inView:controlView];

    // Constrain to the far right of the provided frame to draw the button
    NSRect bounds = NSMakeRect(cellFrame.origin.x + cellFrame.size.width - cellFrame.size.height, cellFrame.origin.y, cellFrame.size.height, cellFrame.size.height);

    // Draw your custom button inside the bounds rect
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSPopUpButton、NSComboBox 类似菜单 的相关文章

随机推荐

  • MARS(多个活动结果集)的缺点?

    有谁知道 MARS 多个活动结果集 有什么缺点吗 有谁知道为什么应该避免使用 MARS 的任何原因 例如游标比 MARS 更有用的情况 显然至少有两个已知的 潜在的 缺点 来自此 1 团队博客 http blogs msdn com sql
  • 无法在 Mac OS X 10.8.4 上安装 json 1.8 gem

    我正在尝试在第二台计算机上安装我的 Rails 应用程序 但当我跑步时bundle install我收到 json gem 错误 Gem Installer ExtensionBuildError ERROR Failed to build
  • Android 用另一个fragment替换当前fragment

    我刚刚开始进行 HoneyComb 的片段设计 我创建了两个片段 当我单击左侧片段中的按钮时 会在右侧创建一个新片段 同时 当我单击右侧片段中的按钮时 即下面代码中的 DetialsFragment 应该被另一个片段替换 主文件
  • 是否可以从响应对象中提取方法名称?

    我在 Java 中使用 REST Assured 以下是我如何得到我的response object Response response RestAssured given contentType ContentType JSON head
  • (React 和 Django)在主页上显示产品工作正常,但是当我单击任何特定产品时,呈现错误

    这篇文章是以下系列的第三部分 您可以跳过前两部分 但是 它可以作为参考 React Django Django REST 和 Axios 的大量问题 https stackoverflow com questions 66239527 a
  • 如何将字符串转换为枚举?

    My 是创建名为的方法to str 它将返回一个切片 但我不确定这是正确的方法 因为此代码无法编译 enum WSType ACK REQUEST RESPONSE impl WSType fn to str self gt str mat
  • 在 javascript 中获取推荐 url

    我想看看我从各种 URL 缩短服务 例如 bit ly tinyurl com 但由于它们使用 301 重定向 因此不会出现在我的分析中 如何找出谁在重定向流量 Or 更准确地说 我如何在 javascript 中获取不同类型重定向的推荐
  • std::unique_ptr 如何没有大小开销?

    如果空类的大小不能为 0 那么 std tuple 有何魔力 使得 unique ptr 的 sizeof 在 64 位机器中返回 8 在 unique ptr 中 成员定义为 typedef std tuple
  • 实体框架:在没有导航属性的情况下映射外键?

    动机 我的 EF4 1 DbContext 以错误的顺序保存实体 原因 我的模型缺乏导航属性 我想如何解决它 我想在 DbContext 中设置外键关系 问题是我的实体对象没有导航属性 我使用它来填充 Web 服务 然后将 DTO 对象触发
  • tweepy.errors.Forbidden:403 Forbidden - 使用 Tweepy 的 Twitter API 身份验证问题

    我正在遇到 tweepy errors Forbidden 403 Forbidden When authenticating requests to the Twitter API v2 endpoints you must use ke
  • df.duplicated() 误报?

    我有一个数据框 包含 2 865 044 个条目 具有 3 级多重索引 MultiIndex levels names year country productcode 我正在尝试重塑数据框以生成宽数据框 但出现错误 ReshapeErro
  • Xamarin iOS - 以编程方式加载故事板参考

    我有 2 个故事板 Activities storyboard and Contacts storyboard On Contacts storyboard我有一个视图控制器 ContactDetails On Activities sto
  • CSS 转换未触发

    我正在创建一个 DOM 元素 一个 div 将其添加到 DOM 然后在 javascript 中快速更改其宽度 理论上 这应该会触发 CSS3 转换 但结果是直接从 A 到 B 而没有中间的转换 如果我通过单独的测试单击事件更改宽度 一切都
  • 显示任意大小的位图而不会耗尽内存

    如何在不出现 OOMing 或缩小图像尺寸的情况下显示任意大小的图像 我不想因为缩放和拖动图片而缩小尺寸 如果无法显示任意大小的图像 如何确定要显示的图像的最大可能大小 而不导致 ROOM 位图数据分配在 Native 堆中 而不是 VM
  • react-native-image-picker launchCamera 在 android 中不起作用

    我在用着 react native image picker 3 0 1 在本机反应中捕获图像 但我在 android 9 中打开相机时出错 我收到错误 errorCode others errorMessage This library
  • SQL合并语句

    我正在尝试使用 SQL Server 2008 中新的 MERGE 语句 该语句将从临时表中获取记录 并在其他表中更新相同的记录 该语句如下 create table TempTable ProcPOAmdDel ProcessAmendm
  • Ionic:管理多个 iOS 版本

    我有一个离子应用程序 用于为不同组织构建同一应用程序的多个版本 gulp 脚本为我交换了所有的 asset config xml 这对于 Android 来说效果很好 因为我在签名时将 apk 输出到单独的文件夹中 但我不确定如何在 iOS
  • 为什么枚举常量必须在枚举类型中的任何其他变量和方法声明之前声明?

    如果我在声明枚举常量之前或没有以这种方式声明变量 enum MyEnum int i 90 它显示以下编译错误 MyEnum java 3
  • Android向项目添加外部库

    我有一个项目 我想添加外部库 并将它们与应用程序打包在一起 但我不确定它是否发生 我在这个链接上读到 https developer android com guide appendix faq commontasks html https
  • NSPopUpButton、NSComboBox 类似菜单

    我正在尝试创建一个带有下拉菜单的菜单 每个单元格都有自定义背景 首先 我尝试改编 NSPopUpButton 但我找不到更改单元格背景图像的方法 使用 setImage 会将文本滑动到背景的右侧 接下来我停在 NSComboBox 但我找不