在学习RN中遇到过一个问题,就是原生页面通过navigation push到一个Rn页面,如果使用原生的navigation的话,rn页面中的导航头无法定义title、左右按钮等等自定义控件,为了解决这个问题,可以在原生页面push事件触发的时候隐藏导航头,在rn页面中手动添加自己的导航头,这样在原生页面有一套自己的导航头,rn页面中也有自己的一套导航头。具体实现如下:
1,在xcode工程的AppDelegate中设置window的rootViewController为navigationController
2,编辑ViewController,添加点击跳转RN页面事件,在push页面后隐藏当前导航头
3,原生页面push走后隐藏导航头,那回来的时候需要重新显示原生的导航头
4,页面实现RCTBridgeModule协议,在文件中添加RCT_EXPORT_MODULE(),然后配置给RN调用的方法的方法,具体如下: