ios - QuickLook,删除除完成按钮之外的所有工具栏按钮

标签 ios xcode quicklook qlpreviewcontroller

我正在使用 Quicklook 来显示一些 PDF 文件,用户只需要查看文件,然后单击“完成”。默认 UI 提供更多选项,例如复制或打印电子邮件。 此外,用户界面在完成按钮旁边显示箭头,可以导航到其他可用文件。 这两个我都需要删除(隐藏)。 现在我四处浏览,大多数帖子都在谈论子类化 QLPreviewController 和自定义新类。所以我按以下方式这样做:

  @interface MyQLViewer : QLPreviewController <QLPreviewControllerDataSource, QLPreviewControllerDelegate> {

在.m文件中

- (void)viewWillAppear:(BOOL)animated
{
   [super viewWillAppear:animated];
   [[self navigationItem] setRightBarButtonItem:nil];
}

现在在我自己的项目中,我有一个 MyQLViewer 属性,我在 xib 的 viewdidload 事件中 [MyQLViewer alloc] init]。

这是行不通的。我错过了什么?

谢谢。

enter image description here

最佳答案

据我所知,在 iOs 6 中不再可能禁用右键 你可以在这里读更多关于它的内容: http://www.cimgf.com/2012/07/11/a-better-fullscreen-asset-viewer-with-quicklook/

更新: 此解决方法对我有用。 如果文档加载需要很少的即时时间,则会延迟调用,因为它会被重新添加

- (void)removeActionButton  {

    if(removeShareCounter > 13){
        [removeButtonTimer invalidate];

    }
    else{
        //iOs doesn't support setRightBarButtonItem to nil
        if ([self iOsEqual:6]) {
            [self inspectSubviewsForView:self.view];
        }
        else{
            [self.navigationItem setRightBarButtonItem:nil animated:NO];
        }
        removeShareCounter++;
    }
}

- (void)inspectSubviewsForView:(UIView *)view
{
    if(view != NULL){
        if ([view isKindOfClass:[UINavigationBar class]])
        {
            UINavigationBar *bar = (UINavigationBar *)view;
            if ([[bar items] count] > 0)
            {
                UINavigationItem *navItem = [[bar items] objectAtIndex:0];
                [self performSelectorOnMainThread:@selector(removeShareButton:) withObject:navItem waitUntilDone:YES];
            }
        }
        else{
            for (UIView *subView in view.subviews) {
                [self inspectSubviewsForView:subView];
            }    
        }
    }
}

-(void)removeShareButton: (UINavigationItem *)navItem{
    [navItem setRightBarButtonItems:nil animated:NO];
}

关于ios - QuickLook,删除除完成按钮之外的所有工具栏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14988201/

相关文章:

ios - 一个 View 是否可以安全地添加到多个其他 View ,如果可以,removeFromSuperView : do in that case? 是什么

ios - Swift 3.0 标签空白(零值?)

xcode - 快速浏览一下 Swift 中的 NSView

iphone - iOS - QLPreviewController - 如何阻止 QuickLook 旋转?

ios - QLPreviewController : quicklookd failing to load

ios - 代码 "The private key for is not installed on this mac - distributing"

Ios - 有时使用解析无法接收推送通知

ios - Swift 中的数据封装和安全性

Swift - 使用 for 循环读取嵌套结构

ios - 重新加载数据到 UIPickerView