公式の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過疎ってます。笑
ネイティブの敷居が下がってきているので、ほぼネイティブでみんな対応してますよね・・