gpt4 book ai didi

cocoa - NSToolbar 中的下拉菜单,如 Mail.app

转载 作者:行者123 更新时间:2023-12-03 16:10:32 24 4
gpt4 key购买 nike

我想要一个带有附加下拉菜单的工具栏按钮,例如 Mail.app 工具栏中的“标志”按钮:

Flag menu from Mail.app

我希望制作一个普通的 NSMenuItem 并添加一个菜单作为 menuFormRepresentation 可以解决问题,但该菜单仅在按钮进入溢出模式时出现.

我还希望添加一个 NSPopupButton 作为自定义 View 会起作用,但这会使整个 View 成为一个菜单,而我希望组件的左侧部分表现得像一个普通按钮,右侧的下拉部分会弹出菜单。

是否有一些技巧可以使 NSToolbarItem 显示这样的组件,或者这两个自定义 View 粘在一起?

最佳答案

这里的 NSToolbar 并没有什么神奇之处。这只是设置 NSSegmentedControl 的方法之一,无论它是作为工具栏项的自定义 View 还是单独显示。

您无法在 Interface Builder( Storyboard)中进行设置,但是 NSSegmentedControl具有用于将菜单分配给段的 API:

segmentControl.setMenu(myMenu, forSegment: 1)
segmentControl.setShowsMenuIndicator(true, forSegment: 1) // for the little arrow

您可能希望将跟踪模式设置为 momentary ,因为您的分段控件充当一组视觉连接的按钮,而不是一个选择一个的选择器。

当用户单击任一分段时,您的操作方法将需要使用 selectedSegment 来决定是执行与“按钮”侧关联的操作还是忽略单击(让菜单显示另一侧)。

关于cocoa - NSToolbar 中的下拉菜单,如 Mail.app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50066093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com