MUI混合开发,跳转iOS原生界面并传值

    技术2022-07-11  125

    MUI混合开发,跳转iOS原生界面并传值

    通过mui官方文档我们知道mui是有调用IOS原生界面的能力的,具体可以查看官方文档Native.js这一块,下面我将跳转IOS原生界面并传值的代码分享一波

    //ViewControllers为要跳转的原生页面 var newVCobj = plus.ios.newObject("ViewControllers"); var UIApplicationClass = plus.ios.importClass("UIApplication"); var UIAppObj = UIApplicationClass.sharedApplication(); var del = plus.ios.invoke(UIAppObj,"delegate"); var appWindowObj = plus.ios.invoke(del,"window"); var appRootController = plus.ios.invoke(appWindowObj,"rootViewController"); //js注册通知进行js与oc传值 defaultsName为通知名, 1234为需要传的值, 原生实现通知方法进行值接收。 SetUserDefault("defaultsName", "1234"); //从底部向上弹出方式跳转。 plus.ios.invoke(appRootController,"presentViewController:animated:completion:",newVCobj,"YES",null); //带有原生导航的跳转方式,跳转动画为从右到左滑入。 // plus.ios.invoke(appRootController,"pushViewController:animated:",newVCobj,"YES"); //注册通知进行js传值到oc界面 function SetUserDefault(key, value) { if (typeof value != 'undefined' && typeof key === "string") { var UserDefaultsClass = plus.ios.importClass("NSUserDefaults"); var standardUserDefaults = UserDefaultsClass.standardUserDefaults(); plus.ios.invoke(standardUserDefaults, "setObject:forKey:", value, key); plus.ios.invoke(standardUserDefaults,"synchronize"); } } //oc页面实现通知接收传值方法 NSUserDefaults* pDefDefaults = [NSUserDefaults standardUserDefaults]; if (pDefDefaults) { NSString* pString = [pDefDefaults objectForKey:@"defaultsName"]; NSLog(@"这里是js通知所传的值:%@",pString); } 返过来,oc要给js传值也可以通过发送通知进行传值。

    后面会将几种页面跳转,跳转刷新前往页面的方法总结一下…

    Processed: 0.012, SQL: 9