当状态栏较大时,UIDocumentInteractionController 隐藏在导航栏后面(个人热点标题)

UIDocumentInteractionController hides behind navigation bar when status bar is bigger (Personal Hotspot title)

所以当状态栏的高度因个人热点标题而变大时,标题说的正是 UIDocumentInteractionController 隐藏在导航栏后面。我给它我的 navigationController。看起来像 IOS 错误。任何解决方案或解决方法?

UIDocumentInteractionController *pdfViewer = [UIDocumentInteractionController interactionControllerWithURL:url];
[pdfViewer setDelegate:self];
[pdfViewer presentPreviewAnimated:YES];

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

尝试单击您的 UIDocumentInteractionController 文件,然后执行“编辑器”>“嵌入”>“导航控制器”。

所以这是我的 'BAD' 解决方案。此代码使用我的自定义 类。它所做的应该是可读的。它正在从导航控制器数组中更新每个第二个 navigationBar 和第一个控制器,因此它应该是 UIDocumentInteractionController 在某个时候呈现的控制器。现在一切正常。

 _updateNavigationBarStyle = [self schedule:1 :^{
    self.navigation.navigationBar.translucent = NO;
    self.navigation.topViewController.view.top = self.navigation.navigationBar.bottom;
}].start;

- (void)documentInteractionControllerDidEndPreview:(UIDocumentInteractionController *)controller {
    [_updateNavigationBarStyle stop];

}