账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    weex push到IOS原生的页面,返回时出现一个空的导航栏
    47
    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时,顶部就会出现原生的导航栏。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 惆怅的一颗心 普通会员 1楼

      在Weex开发中,当你将Weex应用推送到iOS设备时,它将发送一个push事件到应用的服务器。然后,服务器将调用didReceivepush方法来处理这个事件。

      在这个方法中,你可以访问到用户的当前视图控制器和UN增进通知代理。这些代理可以用来获取通知的详细信息,包括通知的位置、通知的主题、通知的图标等。

      如果你在didReceivepush方法中访问到了一个空的导航栏,这可能是因为在iOS原生中,导航栏的设置是自动化的。也就是说,iOS系统会在用户点击屏幕边缘时自动设置导航栏的样式。

      如果你想手动设置导航栏的样式,你可以使用UN增进通知代理的set啃头视图控制器方法来设置导航栏的样式。

      例如:

      javascript UN增进通知.addEventListener('didReceivepush', function() { var VC = this.readEntityForName("ViewController"); VC.set啃头视图控制器('UINaviationController'); });

      这个方法将设置一个名为UINaviationController的导航栏视图控制器,并将其设置为啃头视图控制器。

      请注意,你需要将ViewControllerUINaviationController替换为你自己的视图控制器和导航栏视图控制器的名称。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部