【问题标题】:QuickLook, remove all toolbar buttons except the done buttonQuickLook,删除除完成按钮之外的所有工具栏按钮
【发布时间】:2013-02-20 19:21:31
【问题描述】:

我正在使用 Quicklook 显示一些 PDF 文件,用户只需要查看文件然后单击完成即可。默认 UI 提供了更多选项,例如复制或打印电子邮件。 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]。

这不起作用。我错过了什么?

谢谢。

【问题讨论】:

    标签: ios xcode quicklook qlpreviewcontroller


    【解决方案1】:

    据我所知,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];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-06
      • 2017-03-08
      • 1970-01-01
      • 2013-02-04
      • 2019-09-10
      • 2019-07-31
      相关资源
      最近更新 更多