为什么不能在qlpreviewcontroller中设置currentPreviewItemIndex?

时间:2020-02-01 09:29:43

标签: ios objective-c quicklook

我一直在使用QuickLook Framework开发一个项目。我使用tableview来显示文件,并使用quicklook预览来显示它们。我在didSelectRowAtIndexPath方法中创建了QLPreviewController,并尝试使用indexPath.row设置currentPreviewItemIndex以显示我选择的文件。像这样的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // When user taps a row, create the preview controller
    QLPreviewController *previewer = [[QLPreviewController alloc] init];

    // Set data source
    [previewer setDataSource:self];

    // Which item to preview
    [previewer setCurrentPreviewItemIndex:indexPath.row];
    NSLog(@"Tapped Row: %@", [[NSNumber numberWithInt:indexPath.row] stringValue]);
    NSLog(@"The INDEX: %@", [[NSNumber numberWithInt:previewer.currentPreviewItemIndex] stringValue]);

    // Push new viewcontroller, previewing the document
    [[self navigationController] pushViewController:previewer animated:YES];
}

但是结果是无论我在表视图中选择哪个单元格,它都显示相同的文件(文件列表中的第一个文件)。日志中的“分接的行:”显示正确的索引,但“索引:”始终为-1 ,这似乎无法设置currentPreviewItemIndex。

这有什么问题?如何正确设置索引?

0 个答案:

没有答案