是否可以在Interface Builder中使用QLPreviewController?我正在使用故事板和segues,并且还可以为QLPreviewController提供表示。
答案 0 :(得分:6)
我想你有一个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];