macos – 如何在文件的图标上显示进度条

macos – 如何在文件的图标上显示进度条,第1张

概述当我们使用safari和chrome复制文件或下载文件时,您知道文件图标上有一个迷你进度条. 我想知道如何在我使用自己的代码复制或下载文件时让它显示在Finder窗口中. 有人能帮帮我吗? 非常感谢. 我自己通过查询文件/目录属性得到了方法.这很简单. 获取要在其图标上显示进度条的文件的属性 NSDictionary *fileAttr = [[NSFileManager defaultManag 当我们使用safari和Chrome复制文件或下载文件时,您知道文件图标上有一个迷你进度条.

我想知道如何在我使用自己的代码复制或下载文件时让它显示在Finder窗口中.

有人能帮帮我吗?

非常感谢.

解决方法 我自己通过查询文件/目录属性得到了方法.这很简单.

获取要在其图标上显示进度条的文件的属性

NSDictionary *fileAttr = [[NSfileManager defaultManager] attributesOfItemAtPath:filePath error:nil];

获取扩展属性

NSDictionary *extendAttr = [fileAttr objectForKey:@"NSfileExtendedAttributes"];

创建extendAttr的Mutable副本并更改其中的一些值

NSMutableDictionary *mutableExtendAttr = [NSMutableDictionary dictionaryWithDictionary:extendAttr];// create data of progress valueNSData *progressData = [@"0.1" dataUsingEnCoding:NSASCIIStringEnCoding];// change it[mutableExtendAttr setobject:progressData forKey:@"com.apple.progress.fractionCompleted"];

创建fileAttr的可变副本

NSMutableDictionary *mutablefileAttr = [NSMutableDictionary dictionaryWithDictionary:fileAttr]; // change extend attr [mutablefileAttr setobject:[NSDictionary dictionaryWithDictionary:mutableExtendAttr] forKey:extendAttrKey]; // change file/dir create date to the special one // if not,progress bar will not show [mutablefileAttr setobject:[NSDate dateWithString:@"1984-01-24 08:00:00 +0000"] forKey:NSfileCreationDate]; // set attribute to file [[NSfileManager defaultManager] setAttributes:mutablefileAttr ofItemAtPath:filePath error:&error];

现在你会发现进度条出现了.

总结

以上是内存溢出为你收集整理的macos – 如何在文件的图标上显示进度条全部内容,希望文章能够帮你解决macos – 如何在文件的图标上显示进度条所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1015330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存