1

我在文档中找到了这个。

https://developer.apple.com/documentation/safariservices/sfsafaritoolbaritem

这使我能够使用toolbarItemClicked函数中的window变量来获取对工具栏项的引用,就像这样。

var toolbaritemretrieved = false
window.getToolbarItem { (item) in
            toolbaritem = item! as SFSafariToolbarItem;
            toolbaritemretrieved = true;
        }

一旦我引用了工具栏项,我就可以运行此代码并据推测更改图标的图像。

let path = Bundle.main.path(forResource: "newIcon", ofType: "png")!;
let icon = NSImage(path);
while(!toolbaritemretrieved){
                        //wait for toolbar item to be retrieved
                    }
                    toolbaritem?.setImage(icon);
                    SFSafariApplication.setToolbarItemsNeedUpdate();

但是,这不起作用。没有可见的错误,但由于某种原因,图标不显示新图像。

4

1 回答 1

0

好的,事实证明,此时我的代码实际上没有任何问题,而且我忘记了断点。

于 2018-09-18T00:51:41.113 回答