我正在使用QLPreviewController
来显示文件,其中许多文件实际上都是纯文本,但QLPreviewController
似乎并不知道。 (例如,无法显示带有.m
扩展名的文件。)
有没有办法告诉QLPreviewController
将文件视为文字? (我认为它决定它根本无法查看它们。)我正在研究UTI,但我不确定这是否是正确的方向。 (我会知道文件是否是文本,所以我不会猜测。)
或者我必须在幕后使用.txt扩展名保存它们吗?
答案 0 :(得分:2)
我没有在API中看到告诉QLPreviewController哪个UTI是文件的正确方法。 但是因为QLPreviewController通过查看文件扩展名来确定UTI,你可以复制文件,将“.txt”附加到它,然后打开它。
在您的QLPreviewControllerDatascource实现中:
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index; {
NSString *file = @"source.m"
NSString *tmp = [file stringByAppendingPathExtension:@".txt"]
[[NSFileManager defaultManager]copyItemAtPath:file toPath:tmp error:NULL];
return [NSURL fileURLWithPath:tmp];
}