如何在iOS中的“快速查看”工具栏中添加自定义按钮?

时间:2011-03-31 21:58:54

标签: objective-c ipad pdf quicklook

我目前正通过Modal View Controller在iPad上使用Quick Look框架显示PDF文件。效果很好。我的问题是,因为我正在显示PDF文件,快速查看预览会自动添加“打印”按钮。我想要做的是用自定义“电子邮件”按钮替换“打印”按钮。这是可以做到的吗?在第一次通过时,我认为这将是一个有点微不足道的事情,但在这一点上,我真的在努力。任何帮助将不胜感激。

谢谢,

布雷特

2 个答案:

答案 0 :(得分: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的实现。

答案 1 :(得分:1)

您可以像MyQLPreviewController一样创建QLPreviewController的子类

然后在viewWillAppear :( BOOL)动画(重要!!)

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

    self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:right, email, nil];
    [email release];
}