2012-06-21 3 views
0

QLPreviewController을 사용하여 파일을 표시합니다. 그 중 다수는 실제로 일반 텍스트이지만, QLPreviewController은 그 사실을 모르는 것 같습니다. 예를 들어 .m 확장명의 파일을 표시 할 수 없습니다.IOS에서 QLPreviewController가 특정 파일을 텍스트로 처리하도록 할 수 있습니까?

QLPreviewController에 파일을 텍스트로 처리하도록 지시하는 방법이 있습니까? (나는 그것들을 전혀 볼 수 없다고 생각한다.) 나는 UTI를 조사하고 있었지만 그것이 올바른 방향인지 확신 할 수 없다. (파일이 텍스트인지는 알 수 있으므로 추측하지 않을 것입니다.)

아니면 .txt 확장자로 저장해야합니까?

답변

2

글쎄 API에서 UTI가 올바른 파일인지 QLPreviewController에 알리는 방법이 없습니다. 그러나 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]; 
}