UIDocumentInteractionController PresentPreviewAnimated 导航栏样式对于 ios15 不正确

Mat*_*nje 5 xcode objective-c ios uidocumentinteraction ios15

我使用 UIDocumentInteractionController 全屏显示图像,自从升级到 xcode 13 以来,iOS 15 设备在执行[_documentInteractionController presentPreviewAnimated:YES];. 所有其他导航栏都很好。

这就是代表的样子

- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller
{
    UINavigationController* navController = [self navigationController];
    navController.navigationBar.tintColor = [UIColor primaryColor];
    navController.navigationBar.barTintColor = [UIColor primaryColor];
    navController.view.backgroundColor = [UIColor primaryColor];

    return navController;
}
Run Code Online (Sandbox Code Playgroud)

我最接近解决问题的方法是在代表中执行此操作

    UINavigationBarAppearance *app = [UINavigationBarAppearance new];
    [app configureWithOpaqueBackground];
    app.backgroundColor = UIColor.redColor;
    [[UINavigationBar appearance] setBarStyle: UIBarStyleBlack];

    navController.navigationBar.standardAppearance = app;
    navController.navigationBar.translucent = NO;
Run Code Online (Sandbox Code Playgroud)

然而,酒吧保持半透明。这是结果,颜色应该是红色。 导航栏是半透明的 设置navController.navigationBar.translucent = NO;似乎没有什么区别。