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

发布于 2022-09-06 06:43:01 字数 582 浏览 14 评论 0

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时,顶部就会出现原生的导航栏。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

十级心震 2022-09-13 06:43:01

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

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

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

醉态萌生 2022-09-13 06:43:01

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文