簡體   English   中英

如何在 QLPreviewController 中添加按鈕

[英]how to add a button into QLPreviewController

是否可以將新按鈕添加到工具欄或 QLpreviewController 右上角的 actionButton 中?

如果是,我如何編寫代碼?

嘗試在自定義QLPreviewController類的viewDidLoad中設置rightBarButtonItem ,如下所示:

import QuickLook
import UIKit

class FileViewController: QLPreviewController {
     override func viewDidLoad() {
          super.viewDidLoad()
          navigationItem.rightBarButtonItem = yourButton
     }
}

盡管QLPreviewControllerUIViewController的子類,但更改導航項沒有任何效果。 例如,這段代碼理論上應該可以工作,但不能:

QLPreviewController *previewController = [[QLPreviewController alloc] init];
previewController.navigationItem.rightBarButtonItem = 
   [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction 
                             target:self action:@selector(share)] 

但是,您可以向 QLPreviewController 添加工具欄。 首先設置您的工具欄以顯示何時加載視圖:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.navigationController.toolbarHidden = NO;
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    self.navigationController.toolbarHidden = YES;
}

接下來,從QLPreviewController委托設置您的工具QLPreviewController

- (id)previewController:(QLPreviewController *)previewController 
                 previewItemAtIndex:(NSInteger)idx {

UIBarButtonItem *testButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Test"
                                                 style:UIBarButtonItemStylePlain
                                                 target:self
                                                 action:@selector(testButtonTapped:)];

NSArray *myToolbarItems = [NSArray arrayWithObjects:testButtonItem, nil];
previewController.toolbarItems = myToolbarItems;
[testButtonItem release];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM