ios – 使用UIDocumentInteractionController隐藏状态栏?

ios – 使用UIDocumentInteractionController隐藏状态栏?,第1张

概述我正在使用一个需要查看/共享PDF文件的React Native应用程序.我使用的是使用UIDocumentInteractionController的 react-native-open-file模块来查看PDF文件.打开PDF文件时,PDF上将显示状态栏.我的应用程序始终保持隐藏.查看PDF时如何隐藏状态栏? Here’s the code from the module: //// RN 我正在使用一个需要查看/共享pdf文件的React Native应用程序.我使用的是使用UIdocumentInteractionController的 react-native-open-file模块来查看pdf文件.打开pdf文件时,pdf上将显示状态栏.我的应用程序始终保持隐藏.查看pdf时如何隐藏状态栏?

Here’s the code from the module:

////  RNdocumentInteractionController.m//  RNdocumentInteractionController////  Created by Aaron Greenwald on 7/5/16.//  copyright © 2016 Wix.com. All rights reserved.//#import "RNdocumentInteractionController.h"#import <UIKit/UIKit.h>@implementation RNdocumentInteractionControllerRCT_EXPORT_MODulE();RCT_EXPORT_METHOD(open: (NSURL *)path){    UIdocumentInteractionController *interactionController = [UIdocumentInteractionController interactionControllerWithURL:path];    interactionController.delegate = self;    [interactionController presentPrevIEwAnimated:YES];}- (UIVIEwController *) documentInteractionControllerVIEwControllerForPrevIEw: (UIdocumentInteractionController *) controller{    return [[[[UIApplication sharedApplication] delegate] window] rootVIEwController];}@end

我可以添加一个documentInteractionControllerDIDEndPrevIEw方法,该方法在关闭状态后隐藏状态,但我宁愿永远不会打开状态栏:

- (voID)documentInteractionControllerDIDEndPrevIEw:(UIdocumentInteractionController *)controller{    [[UIApplication sharedApplication] setStatusbarHIDden:YES];}

更新:

以下是菜单栏中状态栏的图片:

@H_301_16@解决方法 另一个黑客解决方案:
static NSTimer* timer = nil;- (voID)documentInteractionControllerWillBeginPrevIEw:(UIdocumentInteractionController *)controller{    timer = [NSTimer scheduledTimerWithTimeInterval:0.1 repeats:YES block:^(NSTimer * _Nonnull timer) {        [[UIApplication sharedApplication] setStatusbarHIDden:YES];    }];}-(voID)documentInteractionControllerDIDEndPrevIEw:(UIdocumentInteractionController *)controller{    [timer invalIDate];}

您可以将定时器定义放在任何地方,只要您关闭预览,请确保无效.我也注意到,如果你在if子句中放置了setStatusbarHIDden:YES,那么你检查它是否真的被隐藏,这个解决方案就不再有效了.这似乎是UIdocumentInteractionController中的一个错误.

@H_301_16@ @H_301_16@ 总结

以上是内存溢出为你收集整理的ios – 使用UIDocumentInteractionController隐藏状态栏?全部内容,希望文章能够帮你解决ios – 使用UIDocumentInteractionController隐藏状态栏?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1110596.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存