2011-03-31 12 views
2

我目前使用iPad上的Quick Look框架通過Modal View Controller顯示PDF文件。很棒。我的問題是,因爲我正在顯示PDF文件,「快速瀏覽」預覽會自動添加「打印」按鈕。我想要做的是用自定義的「電子郵件」按鈕替換「打印」按鈕。這是可以做到的嗎?在第一階段,我認爲這將是一件微不足道的事情,但在這一點上我真的很困難。任何幫助將不勝感激。如何將自定義按鈕添加到iOS中的快速查看工具欄?

感謝,

佈雷特

回答

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實現將被調用。

+0

謝謝史蒂芬!我無法得到這個工作。似乎應該但我必須錯過一些東西。我是Objective-C的新手。 'QLPreviewController * ql = [[[QLPreviewController alloc] init] autorelease]; \t ql.dataSource = self; \t ql.currentPreviewItemIndex = indexPath.row; \t UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:self action:@selector(emailPDF)]; \t NSArray * items = [NSArray arrayWithObject:item]; \t [ql setToolbarItems:items animated:NO]; \t [self presentModalViewController:ql animated:YES];' – 2011-04-01 00:27:19

+0

Try:[self setToolbarHidden:NO]。 UINavigationController的toolbarHidden屬性默認設置爲YES。 – 2011-04-01 01:30:33

+0

即使使用setToolbarHidden:不,我沒有任何運氣。我可以看到工具欄。它只是沒有響應更新的UIBarButtonItem。我想知道我是否需要以某種方式重寫它?我也想知道是否可以構建PDF預覽。在你的代碼示例中,我看到你指定的位置'[[self navigationController] presentModalViewController:previewController animated:YES]; '。對我來說這是行不通的。如果我使用'[self presentModalViewController:ql animated:YES],我只能讓它工作;''我可能做錯了我如何設置QLPreviewController? – 2011-04-01 19:53:21

1

您可以創建QLPreviewController的子類,像MyQLPreviewController

然後在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]; 
} 
+0

工程就像一個魅力 – 2012-06-04 20:35:35

相關問題