我们正在为现有应用添加本机响应,并且在将本机视图控制器置于另一个本机视图控制器之上时遇到问题,该控制器包含反应本机视图.
主视图控制器的viewDidLoad如下所示:
-(void)viewDidLoad {
...
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName: @"ListingsView" launchOptions:nil];
self.view = rootView;
}
Run Code Online (Sandbox Code Playgroud)
react视图是一个ListView,其中TouchableHighlight的onPress在同一视图控制器上导出到此方法:
RCT_EXPORT_METHOD(productClicked:(NSDictionary *)productDict)
{
dispatch_async(dispatch_get_main_queue(),
^{
SNKProduct *product = [[SNKProduct alloc] initWithDictionary:productDict];
SNKProductViewController *vc = [[SNKProductViewController alloc] initWithProduct:product];
[self.navigationController pushViewController:vc animated:YES];
});
}
Run Code Online (Sandbox Code Playgroud)
该方法肯定被调用,但SNKProductViewController永远不会被推到屏幕上(没有日志消息).我也试过模态呈现视图控制器,并收到此控制台消息:
Warning: Attempt to present <SNKProductViewController: 0x7feadf247d10> on <SNKProductsViewController: 0x7feada5e2a20> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)
感谢任何帮助,非常感谢!