待望のiOS5が公開になりましたが、iPhoneとiPod touchの日本語変換時の予測変換候補の表示位置がかわったことで、一部のアプリ(というか結構多いんじゃないかと)で絶望的に使いづらくなっています。OSとしてはそう悪くない仕様変更なので、徐々に各アプリが画面レイアウトを修正対応していってくれれば鎮火する問題なんですが、日常の使い勝手を重視する方はそれらを待つのも手かも知れません。
例えばこれはFacebookアプリの画面。左は英語キーボード、右は日本語キーボードを表示した状態です。iOS5の日本語キーボードでは上部に予測変換候補枠が常時表示されるようになり、それがアプリの各ボタンにかぶってしまっています。
今まではどのキーボードでも固定サイズだった(予測変換候補は入力位置のすぐ下に出ていた)ので、それを基準にアプリの画面レイアウトを設計していたアプリは軒並みこの問題に遭遇しています。仮にここにボタンを置いていなくても、文章の最後の一行が選択できなかったりとやはり問題に。
下記はHootSuiteアプリの例。
写真の様にMenuボタンやあと何文字ツイートできるかのカウンターがキーボード上に出ていますが、やはりこれも日本語入力時は隠れて見たり押したりができなくなります。もちろん都度日本語以外のキーボードに切り替えれば普通に使えるんですが、やってみるとなかなかに不便でイライラします。またFacebookアプリはキーボードを切り替える度にカーソル位置が末尾にジャンプしてしまう仕様のようで、一度書いた文章の途中に文字を挿入することが事実上できなくなります。
この問題は日本語キーボード固有なので、海外産のアプリだと開発者が認識するのが遅れる可能性があります。実際、Facebookアプリは先日iOS5対応を謳うバージョンがリリースされましたがこの問題に関してはノータッチです。直して欲しい場合は積極的に報告した方が良いかも知れません。
σ(^^)自身もアプリ開発をしてますが、これはどうするのがいいんでしょうね。もちろん一番簡単なのはテキスト入力欄の下端を少し上にあげてやればいいんですが、日本語以外のキーボードやiOS4以前を使っている場合は貴重なスペースを無駄にしてしまいます。
Apple純正アプリはどう対処しているのでしょう?こちらは「メッセージ」(iMessage)アプリの例です。
なんと、キーボードが予測変換候補を表示すると、入力欄そのものが上にズレてくれます!さすが純正、抜かりはないですね。ただこれは自分で作ろうとすると地味に大変そうな予感。テキスト欄自体もダイナミックにサイズ可変でないといけないですし、このアプリのようにスクロールを前提としたものにはいいですが、それ以外だとどうかなという気もします。
プログラミング的にいうと、そもそもキーボードの言語モードってアプリ側から知ることができるんでしょうかね?iOS5でAPIが追加されてるのかな?各アプリがどう対応するか、API的にはどういう手段が使えるのか、少し見守っていきたいと思います。