我试图在Swift/Cocoa中为Finder扩展创建一个自定义NSMenuItem。我有以下代码:
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中添加自定义视图?
发布于 2020-07-20 05:39:07
根据FIFinderSyncProtocol标题,在Finder扩展中使用的菜单项属性很少:
..。使用特定的菜单项属性:标题、操作、图像和启用。从10.11开始:标记、状态和indentationLevel也可以工作,并且允许子菜单。
所以答案是:No.,您目前不允许在Finder扩展中的菜单项中使用自定义视图。
然而,如果您正在寻找一个非沙箱黑客,尽管我个人不推荐,@zerodivisi0n有一个奇妙的储存库可以将自定义菜单项插入到Finder的上下文菜单中。
https://stackoverflow.com/questions/62980910
复制相似问题