从反应式rootviewController获取呈现的ViewController



在React Native Project中,我想从iOS NPM模块访问呈现的ViewController。我能够使用以下代码

访问RN项目的rootviewController
UIViewController *vc = [UIApplication sharedApplication].delegate.window.rootViewController;

,但我想要在rootvc顶部显示的当前VC,以便我能够在其顶部呈现本机(ios)uinavigationController。

注意: [UIApplication sharedApplication].delegate.window.rootViewController.presentedViewController返回nill。

我知道很久以前就问了这一点,但是我今天遇到了同样的问题([UIApplication sharedApplication].delegate.window.rootViewController.presentedViewController返回nil),并且一段时间找不到解决方案,所以我将将此留给仍在寻找的任何人。

REECT本机源代码中有一个函数,允许您确定显示的视图控制器。似乎他们将其用于其ActionHeetios模块(请参阅此行)。要在您自己的本机模块中使用它,请添加以下内容:

// Put this near the top of the file
#import <React/RCTUtils.h>
...
// Put this where you need access to the presented view controller
UIViewController *presentedViewController = RCTPresentedViewController();

相关内容

  • 没有找到相关文章

最新更新