使用Worklight在Web和Native页面之间导航

时间:2014-06-13 06:44:28

标签: ios ibm-mobilefirst

我正在使用Worklight 6.0。我用本机ios组件(环境)创建了一个混合应用程序。我需要从web导航到本机页面。为此我使用的是一个有方法的插件

    WL.NativePage.show('FirstViewController', backFromNativePage, params);

我能够从网络导航到本地和原生到网络。从FirstController,我正在呈现SecondViewController和应用程序流继续。在一个Controller中,我添加了原生CAMERA,我保存并在FinalViewController中显示所有捕获的图像,我再次从FinalViewController呈现FirstViewController。 FirstViewController我要回到网页。使用WL.NativePage.show加载FirstViewController(这是第一个本地页面)。

现在的问题是,我无法从FirstViewController呈现SecondViewController。我正在获得提示

    "Attempt to present <CameraViewController: 0x1d5e1e70>  on <FirstScreenViewController:
     0x1e88bec0> which is already presenting <CameraViewController: 0x1e8938b0>".

我不知道哪里出错了。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

所以你的流程是

web -> VC1 -> VC2 -> more VCs -> finalVC -> VC1 -> using WL API to return to web page

看起来你的导航堆栈有点圆形而不是线性的,这通常使事情变得复杂。在创建新实例之前,您不会丢弃先前实例化的视图控制器。虽然从技术上讲这对大多数ViewControllers来说可能没问题,但是由于需要独占的硬件访问,有些人可能会遇到问题。相机。

底线 - 我建议您在不再需要视图控制器时确保丢弃视图控制器,例如:通过使您的屏幕导航堆栈线性或手动确保它们被销毁。