【问题标题】:Change NavigationBar background on UIDocumentInteractionController更改 UIDocumentInteractionController 上的 NavigationBar 背景
【发布时间】:2016-06-08 13:02:46
【问题描述】:

我必须将本地 PDF 文件(文档目录)从 UIWebView 传递到其他应用程序(iBooks、Facebook Messenger、WhatsApp,...)。

所以我使用 UIDocumentInteractionController:

- (IBAction)shareButton:(id)sender
{
    NSURL *url = [NSURL URLWithString:self.webView.request.URL.absoluteString];

    self.docController = [UIDocumentInteractionController interactionControllerWithURL:url];
    self.docController.delegate = self;
    [self.docController presentOpenInMenuFromBarButtonItem:sender animated:YES];
}

如果我选择 FB Messenger 或 WhatsApp,它会显示一个 ViewController。

如何更改此 VC 的 NavigationBar 外观(背景图像/颜色、按钮色调)?默认的白色半透明就好了。

我在 AppDelegate 中设置了 NavigationBar 背景图片。

【问题讨论】:

    标签: ios objective-c uinavigationbar


    【解决方案1】:

    如果您使用此行,则只需删除此行,一切正常。

    [[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
    

    对于状态栏样式,最简单的方法是传递 self.navigationController 作为演示者,而不是 self:

    - (UIViewController *) documentInteractionControllerViewControllerForPreview: (UIDocumentInteractionController *) controller {
       return self.navigationController;
    } 
    

    可能对你有帮助

    【讨论】:

      【解决方案2】:

      试试这个代码:

      - (void)openEC:(NSURL*)url {  
      [UINavigationBar appearance].tintColor = [UIColor blueColor];  
      docController = [UIDocumentInteractionController interactionControllerWithURL:url];  
      [docController setDelegate:self];  
      [docController  presentOptionsMenuFromRect:self.view.bounds inView:self.view animated:YES];  
      

      }

      - (void)documentInteractionControllerDidDismissOptionsMenu:(UIDocumentInteractionController *)controller {  
      [UINavigationBar appearance].tintColor = [UIColor whiteColor];  
      

      }

      【讨论】:

      • 是的,这行得通。我无法删除我在 AppDelegate 中设置的背景图像,所以我删除了它并在我的 ViewController 中设置了图像。
      • @KevinHösel:如果可行,请接受答案
      • 在某些应用程序中,条形颜色或按钮颜色不会改变。我觉得我无能为力?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-21
      • 1970-01-01
      • 2020-11-01
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多