首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在NSMenuItem中的menuForMenuKind中添加自定义FinderSync

如何在NSMenuItem中的menuForMenuKind中添加自定义FinderSync
EN

Stack Overflow用户
提问于 2020-07-19 13:27:35
回答 1查看 169关注 0票数 0

我试图在Swift/Cocoa中为Finder扩展创建一个自定义NSMenuItem。我有以下代码:

代码语言:javascript
复制
  override func menu(for menuKind: FIMenuKind) -> NSMenu {
    // Produce a menu for the extension.
    let menu = NSMenu(title: "")

    let v = NSView(frame: NSMakeRect(0, 0, 100, 30))
    v.wantsLayer = true
    v.layer?.backgroundColor = NSColor.cyan.cgColor

    let newItem = NSMenuItem()
    newItem.view = v
    newItem.target = self
    menu.insertItem(newItem, at: 0)
    
    return menu
}

但青色视图在FinderSync扩展线虫中没有显示。如何在menuForMenuKind中添加自定义视图?

EN

回答 1

Stack Overflow用户

发布于 2020-07-20 05:39:07

根据FIFinderSyncProtocol标题,在Finder扩展中使用的菜单项属性很少:

..。使用特定的菜单项属性:标题、操作、图像和启用。从10.11开始:标记、状态和indentationLevel也可以工作,并且允许子菜单。

所以答案是:No.,您目前不允许在Finder扩展中的菜单项中使用自定义视图。

然而,如果您正在寻找一个非沙箱黑客,尽管我个人不推荐,@zerodivisi0n有一个奇妙的储存库可以将自定义菜单项插入到Finder的上下文菜单中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62980910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档