0

我正在尝试使用 QLPreviewController 显示各种文档类型,但我遇到了一个问题,即 QLPreviewController 无法在 Excel 工作表之间切换,如果我有多个文档被提供给它,

self.fileNames = [NSArray arrayWithObjects:@"Doc1.xlsx",@"Doc2.html",@"Doc3.csv",@"Doc4.pdf",@"Doc.txt", nil];

//

- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
{
    NSString *contentURL = [[NSBundle mainBundle] pathForResource:[self.fileNames objectAtIndex:index] ofType:nil];
    return [NSURL fileURLWithPath:contentURL];
}
- (NSInteger) numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
    return [self.fileNames count];
}

如果预览项目的数量设置为 1,那么您可以浏览 xlsx 文件的所有工作表,但如果预览器有超过 1 个文档,那么您只能放大和缩小。

请注意,这只是一个 iOS 6 问题,iOS 5 按预期工作。

我感觉这可能与 QLPreviewController 的更改有关,使其成为远程视图控制器,这会影响手势识别器?(http://oleb.net/blog/2012/10/remote-view-controllers-in-ios-6/

任何其他想法或已知的解决方法将不胜感激。

4

1 回答 1

1

虽然不是解决方案,但只要在其中检测到 xls 时,将空白文档放入文档数组的 0 位置,然后在加载视图时前进到没有动画的第二页。

于 2013-04-11T09:59:57.877 回答