gpt4 book ai didi

objective-c - 如何在上下文菜单中创建逻辑组。苹果系统

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

我想通过分隔子菜单中的菜单项来创建逻辑组。

类似于 Mac 中的打开子菜单。

我怎样才能做到这一点。

NSMenuItem Separator Item 创建一个空白区域,我要求视觉效果与附加图像中的相同。 enter image description here

最佳答案

我猜是,您正在搜索子菜单项。通过搜索子菜单在 Interface Builder 中找到它。

enter image description here

插入所需菜单后,您会发现一个名为 Item 的新条目。只需根据需要编辑这些和/或填写其他菜单项。这会按照您的要求创建一个菜单结构!

enter image description here

  • 编辑 *

我为您的问题提供了解决方案。根据 Apple Docs 上下文菜单位于它们所属的 View 中。从 viewController `viewDidLoad 调用方法。选择器方法根据需要创建。

* 编辑 *将创建的菜单分配给主菜单。我在 viewDidLoad 方法中这样做了。如果你不想把它放在顶部的主菜单上,只需跳过主菜单评论后的两行。顺便说一句,索引是菜单在主菜单中插入的位置。

- (void)viewDidLoad {
[super viewDidLoad];
[[self view] setMenu:[self contextMenu]];

NSMenuItem *subMenu = [[NSMenuItem alloc] init];
subMenu.submenu = [self contextMenu];

// Add the menu in mainmenu as well
NSMenu *mainMenu = [[NSApplication sharedApplication] mainMenu];
[mainMenu insertItem:subMenu atIndex:3];
}

-(NSMenu *)contextMenu {

NSMenu *contextMenu = [[NSMenu alloc] initWithTitle:@"Contextmenu"];

NSMenuItem *subMenuItem = [[NSMenuItem alloc] init];
[subMenuItem setEnabled:YES];
[subMenuItem setTarget:self];
[subMenuItem setEnabled:YES];

NSMenu *subMenu = [[NSMenu alloc] initWithTitle:@"Submenu"];
subMenuItem.submenu = subMenu;
[subMenuItem setTitle:[subMenu title]];

// Creates the menu entries.
NSMenuItem *menuItem1 = [[NSMenuItem alloc] initWithTitle:@"otherMenu" action:@selector(subMenuAction:) keyEquivalent:@""];
NSMenuItem *menuItem2 = [[NSMenuItem alloc] initWithTitle:@"anotherMenu" action:@selector(subMenuAction:) keyEquivalent:@""];

// Creates the separator.
NSMenuItem *separator = [NSMenuItem separatorItem];

[subMenu addItem:menuItem1];
[subMenu addItem:separator];
[subMenu addItem:menuItem2];


[contextMenu addItem:subMenuItem];

return contextMenu;

}

- (void)subMenuAction:(id)sender {

}

我测试了它,它有效!这里是截图。 enter image description here

希望对您有所帮助。当它出现时,使用绿色的回答菜单 :-)

关于objective-c - 如何在上下文菜单中创建逻辑组。苹果系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42537343/

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