如何在Interface Builder中使用QLPreviewController?

时间:2012-04-07 17:10:39

标签: ios cocoa-touch quicklook

是否可以在Interface Builder中使用QLPreviewController?我正在使用故事板和segues,并且还可以为QLPreviewController提供表示。

1 个答案:

答案 0 :(得分:6)

几周前我问了同样的问题。据我所知,QuickLook框架没有任何代表。但是以编程方式完成这项工作并不难。

我想你有一个UITableView。然后在标题中实现QLPreviewControllerDataSource,并为您的实现实施以下两种方法:

- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller;
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index;

不要为单元格设置segue并保留故事板方法。而是在tableView:didSelectRowAtIndexPath:创建一个QLPreviewController的新实例并将其推送到导航控制器的堆栈。

PreviewController* previewController = [[PreviewController alloc] init];
[previewController setDataSource:self];
[previewController setDelegate:self];
[previewController setCurrentPreviewItemIndex:indexPath.row];
[self.navigationController pushViewController:previewController animated:YES];