在phonegap中iphone的原生标签栏

时间:2011-07-15 06:30:25

标签: javascript iphone cordova

我想使用phonegap使用iphone的原生标签栏。我使用了http://wiki.phonegap.com/w/page/16494801/iPhone:-UIControls-%28TabBar%29中显示的代码和插件。但标签栏没有显示。任何人都可以帮助我在我的应用程序中获取标签栏吗?

4 个答案:

答案 0 :(得分:2)

这很容易。通常这不会发生,因为你要添加第四个参数。

TabBar期待第四个参数或null。但是,如果这种情况存在的测试是错误的。

所以只需输入虚拟物品 - > {(foo:“bar”)}< ---

plugins.tabBar.createItem("Advent Calendar", 
                          "Sven Elch", 
                          "abc.png", 
                          { foo : "bar" }  // <-----
);

或修补TabBar.m中的条件(第334行左右)。

if(options != [NSNull null])
{
    id badgeOpt = [options objectForKey:@"badge"];

    if(badgeOpt && badgeOpt != [NSNull null])
        item.badgeValue = [badgeOpt stringValue];
}

答案 1 :(得分:0)

我认为该插件已被弃用。转到http://github.com/phonegap/phonegap-plugins/。在那里你会看到一个名为iPhone的原生控件的插件。那是你想要使用的插件。

下载后,将nativecontrols文件添加到项目的插件文件夹中。将NativeControls添加为phonegap.plist文件中的键和值。将nativecontrols js文件添加到www目录。然后,您可以创建,显示等标签栏

答案 2 :(得分:0)

试试这个:

<script>
    var moreNum = 1;
    plugins.nativeControls.createToolBar();
    plugins.nativeControls.setToolBarTitle("hello");

    plugins.nativeControls.createTabBar();  
    plugins.nativeControls.createTabBarItem("search","search","tabButton:Search");
    plugins.nativeControls.createTabBarItem("book","book","tabButton:Contacts");
    plugins.nativeControls.createTabBarItem("more","more","tabButton:More",{"onSelect":function(){
                                            plugins.nativeControls.updateTabBarItem("more",{"badge":((++moreNum).toString())});
                                            }});
    plugins.nativeControls.showTabBar();
    plugins.nativeControls.showTabBarItems("book","search","more");
</script>

答案 3 :(得分:0)

步骤(任何插件都可能相同):

  • 获取插件iOS NativeControls
  • 将* .xib,*。m和* .h文件复制到项目的“插件”文件夹(应该已存在并包含自述文件)
  • 它们也必须添加到项目中,因此将它们从“Plugins”文件夹(在Finder中)拖到同一文件夹(在Xcode中)并选择创建参考
  • 打开“Resources / Cordova.plist”并在“插件”下,添加一个插件名为“NativeControls”的密钥和一个字符串值“NativeControls”(我猜这是插件的主类名称)
  • 尝试以下示例(注意:此示例来自2012-06-28,我实际上正在开发一个改进版本,删除工具栏功能并将其替换为实际工作导航栏 - 见here

    window.plugins.nativeControls.createTabBar()
    window.plugins.nativeControls.createTabBarItem('home', 'Home', 'tabButton:Contacts')
    window.plugins.nativeControls.showTabBar()
    window.plugins.nativeControls.showTabBarItems('home')
    window.plugins.nativeControls.createToolBar()
    window.plugins.nativeControls.setToolBarTitle('Hello toolbar!')
    window.plugins.nativeControls.showToolBar()
    alert("Tabs and toolbar should now become visible")
    

我无法使工具栏的标题起作用,但是标签和工具栏本身(没有文字)都显示出来。