是否可以在iOS预览中为生成的PDF禁用“打开...”

时间:2012-04-13 19:31:17

标签: ios uikit pdf-generation qlpreviewcontroller

我有一个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。

我附上了我正在谈论的截图。

enter image description here

我的问题是,是否有一种快速方法可以禁用/禁止“打开'iBooks'”和“打开...”选项?我想只允许用户打印pdf。我知道我可以直接将pdf发送到打印而无需打开预览,但我希望允许用户在打印之前预览pdf。所以,我只需要禁用“打开”选项。谢谢!

1 个答案:

答案 0 :(得分:1)

是的,可以做到。您需要创建QLPreviewController的子类,并将自己的按钮分配给self.rightBarButtonItemviewWillAppear中的viewDidAppear。此外,您的班级应该监听UIApplicationDidEnterBackgroundNotificationUIApplicationWillEnterForegroundNotification,并在这些通知的回调方法中执行相同的操作。

您可以使用UIPrintInteractionController复制打印按钮功能。