2012-06-21 61 views
0

我使用QLPreviewController來顯示文件,其中許多實際上是純文本,但QLPreviewController似乎並不知道這一點。 (文件與.m擴展都無法顯示,例如。)在IOS上,您可以讓QLPreviewController將某些文件視爲文本嗎?

有沒有辦法告訴QLPreviewController對待一個文件作爲文本? (我認爲它決定根本無法查看它們)。我正在研究UTI,但我不確定這是否是正確的方向。 (我會知道如果文件是文本,所以我不會猜測)。

或者我必須在後臺使用.txt擴展名保存它們嗎?

回答

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]; 
} 
相關問題