weex push到IOS原生的页面,返回时出现一个空的导航栏

nativePageA --(push)--> weexPageA --(push)--> weexPageB --(push)--> nativePageB --(pop)--> weexPageB
这时weexPageB顶部会出现原生的导航栏。
备注:
1、weexPageA是weex入口页面,也就是IOS原生加载的第一个weex页面,我在viewWillAppear时做了处理,如下
-(void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = YES;

}
也就意味着weexPageA页面不会出现原生的导航栏的问题,这是我希望的

2、weexPageB是由weexPageA页面push过来的,已经脱离了viewWillAppear的控制(我在xcode里面打的断点,监测,在渲染weexPageB时,viewWillAppear并没有触发),在nativePageB页面pop的weexPageB时,顶部就会出现原生的导航栏。

阅读 3.6k
2 个回答

目前有个比较low的方法,就是在父类里面,界面消失时,做个隐藏导航栏的处理,体验稍微差点
-(void)viewWillDisappear:(BOOL)animated{

[super viewWillDisappear:animated];
if (self.isFromWeex) {
    [self.navigationController setNavigationBarHidden:YES];
}

}
希望有好的建议,继续提出,谢谢!

自己实现 WXNavigationProtocol 写一个 handler 类似于 WXNavigationDefaultImpl ,拦截跳转方法, 跳转一个自己实现的weexVC。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题