帖子
帖子
用户
博客
课程
显示全部楼层
5
帖子
0
勋章
20
Y币

[superwebview] iOS APICloud混合开发页面跳转问题。

[复制链接]
发表于 2020-5-28 10:34:32
iOS APICloud混合开发,从H5页面进入原生页面并从原生中返回到APICloud指定页面
20
帖子
0
勋章
6613
Y币
帮你问一下
5
帖子
0
勋章
20
Y币

有解决方案了没朋友?
28
帖子
1
勋章
1万+
Y币
h5里面可以调用api.accessNative方法通知原生,原生里面做页面跳转;h5页面控制器是APIWindowContainer,原生可以根据其name属性来判断要跳转到哪个页面。
5
帖子
0
勋章
20
Y币
技术咨询-Kenny 发表于 2020-6-1 11:59
h5里面可以调用api.accessNative方法通知原生,原生里面做页面跳转;h5页面控制器是APIWindowContainer,原 ...

H5跳转原生这块已经处理好,
从H5跳到原生界面,由于业务逻辑需要,原生中又push了三次,在最后一个原生界面提交完成数据,需要(pop)回到H5页面,H5界面是“xxxxxx_frm.html”尝试pop程序闪退“ reason: 'Tried to pop to a view controller that doesn't exist.'”
代码如下:
        NSString *urlStr = [NSString stringWithFormat"widget://html/workOrder/xxxxxx_frm.html"];
        NSString *nameStr = @xxxxxx_frm";
        APIWindowContainer *windowContainer = [APIWindowContainer                              windowContainerWithAttribute{@"url":urlStr,@"name":nameStr}];
        [windowContainer startLoad];
        [self.navigationController popToViewController:windowContainer animated:YES];
5
帖子
0
勋章
20
Y币
技术咨询-Kenny 发表于 2020-6-1 11:59
h5里面可以调用api.accessNative方法通知原生,原生里面做页面跳转;h5页面控制器是APIWindowContainer,原 ...

h5跳转原生这块没啥问题,问题是我从h5(push)跳到原生中,并且在原生中又push了多次,push到最后界面时提交数据,并返回到进来时点击的h5列表页面。
5
帖子
0
勋章
20
Y币
技术咨询-Kenny 发表于 2020-6-1 11:59
h5里面可以调用api.accessNative方法通知原生,原生里面做页面跳转;h5页面控制器是APIWindowContainer,原 ...

h5跳转原生这块没啥问题,问题是我从h5(push)跳到原生中,并且在原生中又push了多次,push到最后界面时提交数据,并返回到进来时点击的h5列表页面。我尝试pop到h5页面时程序闪退:“reason: 'Tried to pop to a view controller that doesn't exist.'”
代码如下:
        NSString *urlStr = [NSString stringWithFormat"widget://html/workOrder/personality_frm.html"];
        NSString *nameStr = @"personality_frm";
        APIWindowContainer *windowContainer = [APIWindowContainer                              windowContainerWithAttribute{@"url":urlStr,@"name":nameStr}];
        [windowContainer startLoad];
        [self.navigationController popToViewController:windowContainer animated:YES];
28
帖子
1
勋章
1万+
Y币
小智! 发表于 2020-6-1 15:35
h5跳转原生这块没啥问题,问题是我从h5(push)跳到原生中,并且在原生中又push了多次,push到最后界面时 ...

    UIViewController *vc = nil;
    for (APIWindowContainer *h5VC in self.navigationController.viewControllers) {
        if ([h5VC isKindOfClass:[APIWindowContainer class]] && [h5VC.name isEqualToString: @"personality_frm"]) {
            vc = h5VC;
            break;
        }
    }
    if (vc) {
        [self.navigationController popToViewController:vc animated:YES];
    }
您需要登录后才可以回帖 登录

本版积分规则