родная панель вкладок iphone в phonegap - PullRequest
4 голосов
/ 15 июля 2011

Я хочу использовать родную панель вкладок iphone, используя phonegap.Я использовал код и плагин, показанные в http://wiki.phonegap.com/w/page/16494801/iPhone:-UIControls-%28TabBar%29. Но панель вкладок не отображалась.Может кто-нибудь помочь мне получить панель вкладок в моем приложении?

Ответы [ 4 ]

2 голосов
/ 30 октября 2012

Это довольно просто. Обычно этого не происходит, потому что вы добавляете четвертый параметр.

TabBar ожидает этот четвертый параметр или ноль. Но проверка, если она существует, глючит.

Так что просто вставьте пустышку -> {(foo: "bar")} <--- </p>

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];
}
0 голосов
/ 25 июля 2011

Просто попробуйте это:

<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>
0 голосов
/ 28 июня 2012

Шаги (может быть одинаковым для любого плагина):

  • Получить плагин IativeControls iOS
  • Копировать * .xib, * .m и *.h файлы в папку «Плагины» вашего проекта (они должны уже существовать и содержать файл README)
  • Они также должны быть добавлены в проект, поэтому перетащите их из папки «Плагины» (в Finder)в ту же папку (в XCode) и выберите для создания ссылок
  • Откройте «Resources / Cordova.plist» и в «Plugins» добавьте ключ с именем плагина «NativeControls» и строковое значение «NativeControls».«(Я полагаю, это имя основного класса плагина)
  • Попробуйте следующий пример ( ПРИМЕЧАНИЕ: этот пример 2012-06-28, на самом деле я работаю надулучшенная версия, которая удаляет функциональность панели инструментов и заменяет ее на реально работающую панель навигации - см. здесь )

    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")
    

Я не могу получить названиепанель инструментов, чтобы работать, хотя, но и вкладка и сама панель инструментов (безтекст).

0 голосов
/ 15 июля 2011

Я считаю, что плагин устарел.Перейдите на http://github.com/phonegap/phonegap-plugins/. Там вы увидите плагин под названием native control под iPhone.Это плагин, который вы хотите использовать.

После загрузки добавьте файлы nativecontrols в папку плагинов в своем проекте.Добавьте NativeControls в качестве ключа и значения в файл phonegap.plist.Добавьте файл nativecontrols js в свой каталог www.Затем вы можете создать, показать и т. Д. Вашу вкладку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...