この記事は BRIGHT VIE Advent Calendar 2017 15日目の記事になります。
#はじめに
この問題は、Ionic Japan Slackでもディスカッションし、
原因が未解決になっている事例になります。
良い解決方法をお持ちな方がいらっしゃいましたら、是非コメント等でアドバイスいただければと思います
※SlackへのJOINはこちらから
https://ionic2-ja.herokuapp.com/
#症状
サンプルとして読み仮名が「あ」の「娃」という漢字を入力したいと想定します。
まず「あ」を入力します。
変換候補には「あ」「あー」「あの」・・・などが並びますが、「娃」はありません。
そのまま「次候補」キーを連打すればいつか「娃」はでてきますが、
変換候補の右側にでている(上向き矢印)をタップすると、以下のような画面が表示されます。
しかし変換候補に表示された中にも「娃」がないため、下にスクロールしたいと思います。
ですが、スクロールができず、変換候補画面がすぐに落ちてしまいます。
短いですが動画だとこんな感じになります。
https://youtu.be/KAd2cxiJHYQ
弊社で作っているアプリ、残念ながらこの問題をはらんでいます。
(iPhoneのみ。iPadでは発生しない)
#日本語で作成されたIonicアプリが全部こうなるのか?
こちらについて、Slack内でもディスカッションがなされましたが、
1つのアプリだけがこの問題をクリアしていました。
問題なく漢字選択できている様子はこちら
https://youtu.be/KAd2cxiJHYQ
(作者様の許可を得て掲載させていただいております)
残りのアプリについては「当初から駄目」「先日まで問題なかったが、直近のビルドでだめになった」といった状態でした。
・Ionicのバージョンなのか?
・Cordovaのバージョンなのか?
・config.xmlの設定内容なのか?
などなど、各アプリ作者の方たちの情報から特徴をつかもうとしましたが、大きな差を見つけることができませんでした。
#試してみた
##他社製キーボードに置き換えてみる
iPhoneのキーボードを純正からGBoardなどのサードパーティ製キーボードにすることで、
この問題を回避することはできます。
企業内アプリの場合は、こういった策でも逃げれますが、
一般公開するアプリで、その回避策を強要することは現実的に難しく・・・
Config.xmlに DisallowOverscroll:trueを設定
<preference name="DisallowOverscroll" value="true" />
ベーススクロールを固定する設定ですが、残念ながら解決しませんでした。
#知見をお持ちの方いらっしゃいましたら、アドバイスを!
是非、コメントへアドバイスをお願いいたします m(_ _)m