【问题标题】:Cocoa NSWorkspace setIcon:forFile:options: doesn't work可可 NSWorkspace setIcon:forFile:options: 不起作用
【发布时间】:2014-08-08 15:29:17
【问题描述】:

我正在将 png 文件复制到某个目标文件夹,然后将其图标设置为某个特殊图标。但是,图标不会改变 - 它仍然是 png 文件的预览。 是否可以强制更换图标?也许以编程方式禁用 png 使用预览图像的倾向?

我正在做的是:

[[NSFileManager defaultManager] copyItemAtPath:filename toPath:path error:nil];
NSImage* iconImage = [[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myIcon" ofType:@"icns"]];
[[NSWorkspace sharedWorkspace] setIcon:iconImage forFile:path options:0];

附: - 上面的代码适用于没有预览功能的文件(比如我用自己的特殊后缀手动创建的文件)。

谢谢, 尼力

【问题讨论】:

  • 你可能想看看快速查看 API

标签: objective-c cocoa nsworkspace


【解决方案1】:

显然,被复制的文件 [[NSFileManager defaultManager] copyItemAtPath:] 正在显示使用快速查看机制生成的旧图标。 由我的应用程序创建并立即由我的应用程序获取其图标的文件不会被快速查看机制中断。 我的解决方案不是复制文件,而是自己创建文件,然后一切顺利。

希望得到更好的答案/解决方法......

【讨论】:

    猜你喜欢
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 2011-06-27
    • 2012-04-13
    相关资源
    最近更新 更多