2

我目前正在通过模态视图控制器在 iPad 上使用 Quick Look 框架显示 PDF 文件。效果很好。我的问题是,由于我正在显示 PDF 文件,因此快速查看预览会自动添加“打印”按钮。我想做的是用自定义的“电子邮件”按钮替换“打印”按钮。这是可以做到的吗?起初,我认为这将是一件微不足道的事情,但在这一点上,我真的很挣扎。任何帮助将不胜感激。

谢谢,

布雷特

4

2 回答 2

1

您可以创建 QLPreviewController 的子类,例如 MyQLPreviewController

然后在 viewWillAppear:(BOOL)animated (IMPORTANT!!)

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    UIBarButtonItem *rightRatain = self.navigationItem.rightBarButtonItem;
    UIBarButtonItem *email = ...;

    self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:right, email, nil];
    [email release];
}
于 2012-03-15T07:06:42.683 回答
1

由于 QLPreviewController 是 UIViewController 的子类,您可以利用 -[UIViewController setToolbarItems:] 来自定义工具栏。

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:self action:@selector(emailPDF)]; 
NSArray *items = [NSArray arrayWithObject:item];
[previewController setToolbarItems:items animated:NO];   
[[self navigationController] presentModalViewController:previewController animated:YES];

现在,当用户点击工具栏中的“回复”图标时,您的 -emailPDF 实现将被调用。

于 2011-03-31T23:00:40.337 回答