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隐藏状态栏?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)