我有一个iOS应用程序,我正在为iPad / iPhone写作。我正在为打印生成PDF报告,并且一切正常,应用程序将在QLPreviewController中成功打开生成的PDF,我使用以下代码打开预览:
// open a preview of the PDF File.
QLPreviewController* preview = [[QLPreviewController alloc] init];
preview.dataSource = self;
[self presentModalViewController:preview animated:YES];
在“预览”中打开PDF后,“预览”工具栏上有标准按钮。按钮是“完成”和“操作按钮”,用于在其他应用程序中打印/打开pdf。
我附上了我正在谈论的截图。
我的问题是,是否有一种快速方法可以禁用/禁止“打开'iBooks'”和“打开...”选项?我想只允许用户打印pdf。我知道我可以直接将pdf发送到打印而无需打开预览,但我希望允许用户在打印之前预览pdf。所以,我只需要禁用“打开”选项。谢谢!
答案 0 :(得分:1)
是的,可以做到。您需要创建QLPreviewController
的子类,并将自己的按钮分配给self.rightBarButtonItem
和viewWillAppear
中的viewDidAppear
。此外,您的班级应该监听UIApplicationDidEnterBackgroundNotification
和UIApplicationWillEnterForegroundNotification
,并在这些通知的回调方法中执行相同的操作。
您可以使用UIPrintInteractionController
复制打印按钮功能。