フォントとテキスト入力

最良の外観を保持するには、デバイスフォントを使用してください。例えば、以下の各フォントは iPhone のデバイスフォントです。

  • Serif:Times New Roman、Georgia および _serif

  • Sans-serif:Helvetica、Arial、Verdana、Trebuchet、Tahoma および _sans

  • 固定幅:Courier New、Courier および _typewriter

14 ピクセル以上のフォントを使用します。

編集可能なテキストフィールドには、デバイスフォントを使用します。デバイスフォントは、テキストフィールド内でも埋め込みフォントに比べて速くレンダリングされます。

入力テキストフィールドに下線付きのテキストは使用しないでください。また、テキストフィールドの行揃えを設定しないでください。iPhone の入力テキストフィールドは、左揃え(デフォルト)のみをサポートしています。

Flash Professional CS5 内のテキストフィールドで TLF テキスト設定を使用する場合は、ActionScript 3.0 設定のデフォルトリンケージで、ランタイム共有ライブラリを無効にします。このようにしないと、アプリケーションはランタイム共有ライブラリの SWF ファイルを使用しようとするので、iPhone で動作しなくなります。

  1. ファイル/パブリッシュ設定を選択します。

  2. パブリッシュ設定ダイアログボックスで、「Flash」タブをクリックします。

  3. 「スクリプト」ドロップダウンリスト(「ActionScript 3.0」を選択)の右にある「設定」ボタンをクリックします。

  4. 「ライブラリパス」タブをクリックします。

  5. 「デフォルトリンケージ」ドロップダウンリストで、「コードにマージ」を選択します。

入力テキストフィールドの代わりとなる機能を実装することを検討してください。例えば、ユーザー入力が数値の場合、テキストフィールドは必要ありません。値を増減する 2 つのボタンを代わりに使うことができます。

仮想キーボードが占めるスペースに注意してください。仮想キーボードが有効になっている場合(ユーザーがテキストフィールド内をタップした場合など)には、アプリケーションによってステージの位置が調整されます。自動の位置調整機能により、選択された入力テキストフィールドは必ず見えるように調整されます。

  • ステージの最上部にあるテキストフィールドは、画面上に表示されるステージ領域の最上部に移動します(画面上に表示されるステージ領域は、仮想キーボードを表示するために縮小されています)。

  • ステージの最下部にあるテキストフィールドは、新しいステージ領域でも最下部の位置に留まります。

  • ステージ上の他の位置にあるテキストフィールドは、ステージの垂直方向の中心に移動されます。

ユーザーが編集のためにテキストフィールドをクリックすると(仮想キーボードが表示され)、TextField オブジェクトが focusIn イベントを送出します。このイベントに、テキストフィールドの位置を変更するイベントリスナーを追加できます。

単一行テキストフィールドには、テキスト編集時に「消去」ボタンが(テキストの右側に)含まれます。しかし、テキストフィールドが小さすぎる場合は、「消去」ボタンは表示されません。

単一行テキストフィールドでテキストを編集後にキーボードの Done キーをタップすると、仮想キーボードが表示されなくなります。

複数行テキストフィールドを編集後にテキストフィールドの外側をタップすると、仮想キーボードが表示されなくなります。これによって、テキストフィールドからフォーカスが除去されます。仮想キーボードが表示される際には、テキストフィールドの外側の領域が含まれるようにデザインしてください。テキストフィールドが大きすぎると、他の領域が見えなくなることがあります。

Flash Professional CS5 コンポーネントの中には、テキストフィールドからフォーカスを除去しないものがあります。これらのコンポーネントは、このようなフォーカスの動作が望まれるようなデスクトップマシン上での使用を目的としてデザインされています。このようなコンポーネントの例として、TextArea コンポーネントがあります。TextArea にフォーカスがある(編集中の)ときに、他の表示オブジェクトをクリックしてもフォーカスは除去されません。これ以外の Flash Professional CS5 コンポーネントでも、ステージ上に置くことで編集中のテキストフィールドからフォーカスが変更されなくなることがあります。

キーボードイベントに依存しないでください。例えば、Web 用にデザインされている SWF コンテンツの中には、キーボードを使用してアプリケーションを制御するものがあります。ただし、iPhone で仮想キーボードが存在するのは、ユーザーがテキストフィールドを編集するときのみです。iPhone アプリケーションがキーボードイベントを送出するのは、仮想キーボードが存在するときのみです。