0

アプリケーションでカスタム フォントを使用していて、非常に奇妙な問題に遭遇しました。フォントはシミュレーターで使用できますが、実際の iPad では使用できません。

1 フォント名とファイル名を混同していません。ファイル名はbitdust2.ttfフォント名ですがBitDustTwo、これは私がそれを呼び出す方法であり、シミュレーターでは問題ありません。

2 大文字と小文字の区別の問題ではありません。フォントは実際にはデバイスで使用できません。私はこれを行うときにその原因を知っています:

NSLog(@"%@", [UIFont familyNames]);

シミュレーターではフォントがfamilyNames配列に含まれていますが、iPad では見つかりません。どうしたの?このような問題に遭遇したことがありますか?

4

5 に答える 5

2

タイトルの通り、シミュレーターはシミュレーターであり、真のエミュレーターではありません。シミュレーターは同じ名前の API を実行しますが、シミュレーターは iOS ではなく OS X で実行されるため、多くの場合、シミュレーターはより多くの機能を備えています。たとえば、シミュレーターのメディア プレーヤー クラスは、デバイスよりも多くの種類のファイル (コーデック) をサポートします。これは、OS X が iOS よりも多くのコーデックをサポートするためです。シミュレーターでは、デバイスよりも多くのフォントを使用できます。

iOS アプリへのフォントの埋め込みの詳細は次のとおりです。

iOS 4 でカスタム フォントを使用する簡単な方法があります。

  1. フォント ファイル (Chalkduster.ttf など) を XCode のプロジェクトの Resources フォルダーに追加します。
  2. info.plist を開き、UIAppFonts という新しいキーを追加します。このキーの型は配列でなければなりません。
  3. 拡張子 (Chalkduster.ttf) を含むカスタム フォント名をこの配列に追加します。
  4. これで、アプリケーションで [UIFont fontWithName:@"Chalkduster" size:16] を使用できるようになりました。

どのステップも見逃さないことが重要です。それでも問題が解決しない場合は、XCode でプロジェクトの [ビルド フェーズ] タブに移動し、[バンドル リソースのコピー] タブで、フォント ファイルが含まれていることを確認してください。そうでない場合は、追加します。

于 2013-07-03T12:40:00.210 に答える
0

デバイスの OS バージョンと、iOS バージョンのサポートを確認してください。使用したカスタム フォントは、デバイスの iOS と互換性がある必要があります。

この回答を確認してください。サポートされていない場合に備えて、別のカスタム フォントが必要になる場合があります。

于 2013-07-03T12:31:31.747 に答える
-1

フォントをアプリに埋め込む必要があります。説明書はこちらです。

于 2013-07-03T12:33:14.623 に答える