我QLPreviewController
用来显示文件,其中许多实际上是纯文本,但QLPreviewController
似乎并不知道。.m
(例如,无法显示带有扩展名的文件。)
有没有办法告诉QLPreviewController
将文件视为文本?(我认为它决定它根本无法查看它们。)我正在研究 UTI,但我不确定这是否是正确的方向。(我会知道文件是否是文本,所以我不会猜测。)
还是我必须在幕后使用 .txt 扩展名保存它们?
好吧,我在 API 中看不到一种方法来告诉 QLPreviewController 哪个 UTI 是适合文件的 UTI。但是因为 QLPreviewController 通过查看文件扩展名来确定 UTI,所以您可以复制文件,将“.txt”附加到它,然后打开这个文件。
在您的 QLPreviewControllerDatasource 实现中:
- (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];
}