- メモの入力中にiPhone本体を傾けるとキーボードが勝手に閉じてしまう。
- メモを入力しようとしても開いたキーボードがすぐに閉じてしまい入力できない場合がある。
- 横画面での使用時にコピー・ペーストの範囲選択ができない場合がある。
- メモの入力中にiPhone本体を傾けるとキーボードが勝手に閉じてしまう。
この不具合は ver 1.1.1 で修正済です。ver 1.1.0 をご利用の方は ver 1.1.1(以降)へのアップデートをお願いします。 - メモを入力しようとしても開いたキーボードがすぐに閉じてしまい入力できない場合がある。
この不具合は ver 1.1.2 で対策済です。ver 1.1.2 は現在アップルの審査中です。リリースまで今少しお待ちください。
なお、この不具合は iPhone本体の傾き(方向)を変えた直後(概ね1秒以内)にメモの入力を開始した場合にのみ発生します。例えば、机の上に置いてある iPhoneを取り上げて(手前に起こして)すぐにメモの行をタップした場合、などです。
# この不具合の原因は iPhone SDK自体のバグにあるようです(後述)。
従いまして、- iPhoneを動かした(傾きを変えた)場合は、一呼吸(1秒程度)待ってからメモの入力を開始する
ご迷惑をおかけしますが、対策版がリリースされるまでは、上記回避方法をお試しいただくようお願いします。 - 横画面での使用時にコピー・ペーストの範囲選択ができない場合がある。
この不具合は、iPhoneを反時計回りに回転した横画面(ホームボタンが右側にくる持ち方)での使用時にのみ発生します。
縦画面はもちろん、時計回りに回転した横画面(ホームボタンが左側にくる持ち方)の場合には発生しません。
この不具合は、iPhone OS 2.2.1対応のアプリを iPhone OS 3.0以降で使用した場合に発生する iPhone OSの非互換性に起因する不具合です。そのため、アプリ側での対策は非常に難しく、現状、効果的な対策が見つかっていません。
# もっとも簡単な対策は、iPhone OS 2.2.1のサポートを止めてしまう事ですが・・・。
申し訳ありませんが、この件に関しましては現状での制限事項とさせていただきます。ご迷惑をおかけしますが、ご理解のほどお願いします。
なお、前述の通り、この不具合は反時計回りの横画面(ホームボタンが右側)でのみ発生します。従いまして、当面の間- 横画面でコピー・ペーストを使用される場合は時計回りの横画面(ホームボタンが左側)を使用する
マギノートについて詳しくは、こちらの記事をご参照ください。
閑話休題
以下、備忘録的(いいわけともいう ^^;)書き込みです。プログラミング的な内容になりますので、興味の無い方は読み飛ばしてください。
さて、まず第1の不具合の原因ですが、これは完璧にプログラムミスです。いいわけのしようも無い(^^;)。
iPhoneの方向(縦横)が変わると、全文表示に必要な行の高さも変わるため、方向の変化を検知すると[tableView reloadData]を実行して、テーブルビューの再描画をやってるんですが、キーボードが表示された状態でこれをやるとキーボードが閉じてしまいます。
なので、キーボードが表示された状態では[tableView reloadData]しないような制御が必要なんですが、これを忘れていたという(^^;)。
で、この部分を修正したのが、ver 1.1.1なんですが、それでも第2の不具合が解消しなかった原因は、上の方にも少し書いた通り、iPhone SDKの(おそらく)バグにあります。
# もしかしたら「仕様」かもしれませんが(^^;)。
キーボードが表示されているかどうかを判定するのに、UIKeyboardDidShowNotification、UIKeyboardDidHideNotificationを使用しているんですが、なんということか、デバイスの回転とキーボードの表示がほぼ同時に発生すると、UIKeyboardDidShowNotificationが発生しません。UIDeviceOrientationDidChangeNotificationのみ発生します。
おかげで、アプリ側ではキーボードが表示されていないと判断してしまい(実際には表示されているのに)、[tableView reloadData]を実行してしまうという・・・(^^;)。
対策として、Notificationの代わりに、textViewDidBeginEditing、textViewDidEndEditingを使用してキーボードの表示有無(=textViewが編集中かどうか)を判定するようにしたのが、ver 1.1.2になります。
さて、最後の不具合の原因ですが、これも上に書いた通り、iPhone SDK側の問題になります。
より具体的に書くと、tableView(tableViewCell)上にtextViewを配置して、viewControllerによるビューの自動回転を有効にし、iPhone SDK 2.2.1(以前)を指定してビルドしたバイナリを、iPhone OS 3.0以降で動作させると発生する問題、となります。
# かなりレアなケースかも(^^;)。
iPhone SDK 2.2.1付属のサンプル UICatalogをビューの自動回転に対応させたものや、単にtableViewCell上にtextViewを1個配置しただけのコードですら同じ現象が発生しましたから、アプリ側のコードに依存する問題(つまりプログラムミス)ではないのはまず間違いありません。
一番簡単な解決方法は、iPhone SDK 3.0以降でビルドする事(すなわち、iPhone OS 2.2.1サポートを止めてしまう事)なんですが・・・。
正直、この問題にはまいりました。マギノートの現行仕様、リスト上での直接入力(と iPhone OS 2.2.1以降対応)、を採用する限り解決方法がなさそうだし、かといって OS 2.2.1を切り捨てるのもなんだか忍びない。
# リスト上での直接入力を捨てるのは論外。
どうしたもんでしょうかねぇ・・・。
関連する記事
0 コメント:
コメントを投稿