0

我看到原生控件插件在 1.6 版之前的 cordova/phonegao 上运行良好。但我不能再用这段代码让它工作了:

newLoc = location.href.substring(0, location.href.lastIndexOf("/") + 1);
// Initializating TabBar
nativeControls = window.plugins.nativeControls;
nativeControls.createTabBar();
// Back Button
nativeControls.createTabBarItem("page1", "Page 1", "www/images/pound.png", {
    "onSelect": function() {
        $.mobile.changePage("#page1", {
            transition: 'reverse slide'
        });
        nativeControls.setNavBarTitle("Page 1");
        nativeControls.selectTabBarItem("page1");
        selectedTabBarItem = "page1";
    }
});
// Home tab
nativeControls.createTabBarItem("page2", "Page 2", "www/images/pound.png", {
    "onSelect": function() {
        if (selectedTabBarItem == "page1") {
            $.mobile.changePage("#page2", {
                transition: 'slide'
            });
        } else {
            $.mobile.changePage("#page2", {
                transition: 'reverse slide'
            });
        }
        nativeControls.setNavBarTitle("Page 2");
        nativeControls.selectTabBarItem("page2");
        selectedTabBarItem = "page2";
    }
});
// About tab
nativeControls.createTabBarItem("page3", "Page 3", "www/images/question.png", {
    "onSelect": function() {
        $.mobile.changePage("#page3", {
            transition: 'slide'
        });
        nativeControls.setNavBarTitle("Page 3");
        nativeControls.selectTabBarItem("page3");
        selectedTabBarItem = "page3";
    }
});
// Compile the TabBar
nativeControls.showTabBar();
nativeControls.showTabBarItems("page1", "page2", "page3");
selectedTabBarItem = "page1";
nativeControls.selectTabBarItem("page1");
// Setup NavBar
nativeControls.createNavBar();
nativeControls.setNavBarTitle("Page 1");
nativeControls.setupLeftNavButton("?", "", "onLeftNavButton");
//nativeControls.hideLeftNavButton();
nativeControls.setupRightNavButton("About", "", "onRightNavButton");
nativeControls.showNavBar();
}

查看js文件,现在似乎需要cordova.exec();

有人搞定了吗?插件 iOS 和 iPhone 有什么区别?

4

2 回答 2

2

错误的原因是window.pluginsCordova 不再支持该错误。

解决方案:

如下修改您的调用脚本(可能在您的函数中 -如果您使用一个onDeviceReady(),这可能在您的文件中:controls.js

// nativeControls = window.plugins.nativeControls; // get rid of (or comment out)
   nativeControls = new NativeControls(); // use this line instead

修复并使用 Cordova 2.0 :-)

希望有帮助

附录:实际上这只会让你走上一段路——你仍然需要编辑 xCode 文件NativeControls.m

于 2012-09-20T13:18:04.567 回答
0

这是关于此的 GitHub 项目: https ://github.com/zSprawl/NativeControls

只需下载项目并在 xcode 4.x 中打开它希望这会有所帮助!

于 2012-07-24T14:32:50.127 回答