公式のNativeControlsは存在しない
気づけば公式のNativeControlsは存在せず、あるのはhttps://github.com/apla/me.apla.cordova.nativecontrols
が3.x系に(一応)対応してくれてます。ただ使い方も書かれてないので、少し追記しておきます。
この書き方でTabを表示できますが、このままではCDVTabBarが壊れているためどの道発火はされません・・。
nativeControls = window.plugins.nativeControls; nativeControls.createTabBar(); // Books tab nativeControls.createTabBarItem( "books", "Books", "/www/tabs/book.png", {"onSelect": function() { books(); }} ); // Stats tab nativeControls.createTabBarItem( "finished", "Finished", "/www/tabs/box.png", {"onSelect": function() { finished(); }} ); // About tab nativeControls.createTabBarItem( "about", "About", "/www/tabs/info.png", {"onSelect": function() { about(); }} ); // Compile the TabBar nativeControls.showTabBar(); nativeControls.showTabBarItems("books", "finished", "about"); nativeControls.selectTabBarItem("books");
NativeControlsのTabBarは動かない
時間があるときにプルリク予定。onDeviceReady()の呼ばれるタイミングがおかしい
pluginsが完全に読み込まれる前に、onDeviceReady()が発火されてしまいます。 対処法としては、index.htmlのbodyに上記のように記載し、強引にonLoadした後の処理を書きます。
Pluginsは読まなくてよい
自動で呼んでくれるため、index.htmlファイルにわざわざ記述する必要がなくなりました。代わりに、config.xmlとcordova.plistへの記述を忘れずに。
Pluginを入れてからcordova buildすると設定が戻る
Pluginを入れると、ついcordova build iosとか打ちたくなりますが、打ったら最後。設定したconfig.xmlファイルやもろもろはリセットがかかってしまいます。そのため、Pluginを反映させたい場合には、方法が2つあります。
1.cordova plugins add [プラグイン名]して一発で入れる。
2.うまく入らなかったり、外部のライブラリを入れたい場合には、config.xmlとCordova.plistを手書きする。
のいずれかをする必要があります。
他に使っている人がいたら、リアルでつながりたいくらいCordova過疎ってます。笑
ネイティブの敷居が下がってきているので、ほぼネイティブでみんな対応してますよね・・