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