我正在使用Worklight版本6.1。我创建了一个Worklight项目,添加了一个混合应用程序,然后将iPhone环境添加到该应用程序。我已经生成了Xcode环境,并为该Xcode项目添加了控制器类。我必须在我的应用程序中添加worklight Tab栏。我有html(web)页面作为第一页,从那里我导航到查看控制器页面。在main.js中添加了以下功能。
var tb = WL.TabBar;
tb.init();
tb.addItem("One", function () {
} ,"First", { image : ""});
tb.setVisible(true);
tb.setSelectedItem("One");
我可以在网页中获取标签栏项目。但是标签栏没有显示在任何视图控制器屏幕中。我应该怎样做才能在网页和Native ios屏幕中使用Worklight标签栏。帮助我解决这个问题
答案 0 :(得分:1)
Worklight使用Cordova,因此当您启动应用程序时,您看到的是Worklight生成的Cordova Web View。
当您导航到本机页面(在您的情况下,是一个新类)时,您实际上是从Web视图移动到另一个视图控制器,因此您将无法在该视图控制器中看到WL.TabBar实例(标签栏属于另一个)。
以下博客文章包含有关Worklight应用程序架构的背景信息,并说明如何在基于Cordova的应用程序中组合本机控制器(如tabbar)。彻底阅读并相应实施:
答案 1 :(得分:0)
对于 Web ,请使用Worklight Tab栏控件 - 就像您已经完成的那样。
对于原生,您必须在原生代码中设计一个标签。
正如@Idan所建议的,之后你必须建立之间的沟通/互动。
了解详情:Combining native and web controls in Cordova based applications
答案 2 :(得分:0)
如果您正在使用worklight,您可以集成本机代码和Web代码,但它有点棘手,并且难以处理从本机到网页的所有控件,以及单击选项卡上的不同页面。 最好将自定义Web标签栏看起来像本机标签栏。
您可以在网页中设计更类似于原生的自定义标签栏。