如何在山狮10.8的Finder中制作“下载”图标?

时间:2012-09-13 04:59:17

标签: safari osx-mountain-lion finder

从OS X 10.8 Mountain Lion开始,Safari会在下载文件时创建动态图标,如下所示:

enter image description here

进度条显示进度,单击左上角的关闭按钮会让Safari停止下载。

第三方应用有没有办法创建这种图标?

我猜这里没有与App Store兼容的方式,但我很好奇如何做到这一点/ Safari为了感兴趣如何做到这一点。

1 个答案:

答案 0 :(得分:0)

我认为它是NSFileWrapper的一部分,您可以通过App Store进行操作。我不知道。

NSFileWrapper *fw = [[NSFileWrapper alloc] initWithURL:fileURL,
                    // don't memory map, we only want to change the icon
                                               options:NSFileWrapperReadingWithoutMapping 
                                                 error:NULL];

[fw setIcon:updatedIcon];

请注意,iconsetIconApplicationKit类别的一部分,而不是Foundation中的主要NSFileWrapper实现:https://developer.apple.com/library/mac/#documentation/AppKit/Reference/NSFileWrapper_AppKitAdditions/NSFileWrapperApplicationKitAdditions.html

编辑:这就是你可以拥有进度条的方法。要创建关闭按钮,您需要NSView对图标的引用,就像您可以使用停靠图标一样。

编辑2:WebKit浏览器也是这样做的(不仅仅是Safari),所以如果你挖掘源代码,你可能会找到它。

编辑3:我认为它是由NSURLDownload自动完成的。如果你做了一个真正生成下载内容的虚假下载,你可以自己使用这种风格。但我不相信可以制作任意可点击的图标。