我正在尝试使用 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 的更改有关,使其成为远程 View Controller ,这会影响手势识别器? ( http://oleb.net/blog/2012/10/remote-view-controllers-in-ios-6/ )
任何其他想法或已知的解决方法将不胜感激。
最佳答案
尽管这不是一个解决方案,但解决方案是每当检测到 xls 时将空白文档放入文档数组的 0 位置,然后在加载 View 时前进到第二页而不使用动画。
关于ios - 具有多个 Excel 工作表和文档的 QLPreviewController iOS 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14460941/