【问题标题】:how to add a button into QLPreviewController如何将按钮添加到 QLPreviewController
【发布时间】:2011-06-27 08:45:12
【问题描述】:

是否可以在工具栏或 QLpreviewController 右上角的 actionButton 中添加新按钮?

如果是,我如何编写代码?

【问题讨论】:

    标签: iphone ios ipad


    【解决方案1】:

    虽然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 委托设置您的工具栏项:

    - (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];
    }

    【讨论】:

    • 这在 iOS 6 上对我不起作用。启用工具栏时,预览控制器将仅显示下一个/上一个工具栏以在多个预览文档之间导航。设置工具栏项没有效果...
    【解决方案2】:

    尝试在您的自定义QLPreviewController 类的viewDidLoad 中设置rightBarButtonItem,如下所示:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-13
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多