IPhoneアプリで「MgOpen Modata」フォントを使用したい。しかし、プロパティインスペクターのフォントリストには表示されません。
そのフォントを使用できるように含めるにはどうすればよいですか?
Info.plist
を編集します。キーFonts provided by application
を使用して新しいエントリを追加します。以下の例では、フォント「DejaVu Sans Mono」を追加しました:
アプリケーションでは、[UIFont fontWithName:@"DejaVuSansMono-Bold" size:14.f]
を使用できます。
または、html/cssで使用する場合は、font-family:DejaVu Sans Mono;
を使用します
注:これはiOS 3.2以降で使用可能です。
このチュートリアル が最高だった
上記の回答は機能しますが、XIBファイルにテキストを追加し、フォントを新しいフォントに設定した場合、テキストは更新されないことがわかりました。
新しいフォントがリソースに含まれていることを確認して、この問題を解決しました(ウォークスルーから直接取得):
」これは問題ではありませんが、フォントフェイスの表示に問題がある場合は頭痛の種になります。潜在的な落とし穴
ソリューションエクスプローラーでXCodeプロジェクトファイルを強調表示してプロジェクトのビルドフェーズペインに移動し、右側で[ビルドフェーズ]を選択します。展開できるセクションの1つは「バンドルリソースのコピー」です。そのリストを開き、フォントがそのリストに含まれていることを確認してください。 "
チュートリアルのその他のものは、同じ種類のものです(ファイルをプロジェクトに追加し、plistファイルにも追加します)
この回答は、Chrisによるコードの功績であり、多くの時間と労力を節約しました。リンクをクリックする代わりに、この回答が自分の足で立つように彼のページからショットをコピーするだけです。
開発者がplist構造を生のソースコードとして持つ方が良いと思います。私はそれをコピー/貼り付けのために残しています:
<key>UIAppFonts</key>
<array>
<string>Roboto-BoldItalic.ttf</string>
<string>Roboto-Medium.ttf</string>
<string>Roboto-MediumItalic.ttf</string>
<string>Roboto-Regular.ttf</string>
<string>Roboto-Bold.ttf</string>
</array>
このスニペットをコピーして、文字列キーを配列に変更し、目的のフォントに変更します。 ヒント:plistを生のソースコードとして表示するには、ファイルの上のセカンダリボタンをクリックして、名前を付けて開く->ソースコードを選択します。
[〜#〜] edit [〜#〜]
// Logs fonts ordered by name
for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
{
NSLog(@"%@", family);
for (NSString* name in [[UIFont fontNamesForFamilyName:family] sortedArrayUsingSelector:@selector(compare:)])
{
NSLog(@" %@", name);
}
}
フォントを追加した後、(たとえば)AppDelegate.mクラスに追加して(バンドル上の)実際のフォント名を確認すると便利です。フォントファイル名が正しいものであると仮定して、間違った名前でフォントをロードしているときに何度も遭遇した問題。バンドルの実際の名前と異なる場合があります。これに加えて、Finder(macOS)のファイル情報ウィンドウ(cmd + i)を使用してファイルのフルネームを確認できます。
明確にする例:
ファイル名= "DroidSansEthiopic-Regular"
バンドル内の処理済みの名前= "Droid Sans Ethiopic"
ほとんどの場合、アプリケーションのターゲットにフォントを追加することを忘れます。この重要なステップを忘れていないことを確認してください。右側のパネルをチェックする心ファイルインスペクター>ターゲットメンバーシップチェックボックス。
また、このコードスニペットをアプリの任意の場所で実行して、フォントがアプリケーションに適切に追加されているかどうかを確認できます。
for (NSString* family in [UIFont familyNames])
{
NSLog(@"%@", family);
for (NSString* name in [UIFont fontNamesForFamilyName: family])
{
NSLog(@" %@", name);
}
}
[〜#〜] edit [〜#〜]
アルファベット順:
for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
{
NSLog(@"%@", family);
for (NSString* name in [[UIFont fontNamesForFamilyName:family] sortedArrayUsingSelector:@selector(compare:)])
{
NSLog(@" %@", name);
}
}
これにより、アプリで使用可能なフォントのリストが作成され、追加されたフォントも表示されます。
'Targets'-> 'Build Phases'-> 'Copy Bundle Resources'に移動し、すべてのフォントを手動で追加して、ターゲットにフォントを追加することを忘れないでください
Xcodeにフォントを追加する手順
UILabel、UITextField、またはフォントセクションの下にあるものを選択して、
ステップ1
フォント選択画面の左隅から設定メニューを選択します。そして、フォントマネージャーオプションを選択します。
ステップ2
以下のマークのある追加ボタンをクリックします。
ステップ3
フォントを含むフォルダーを選択します。 XCodeフォントリストに読み込まれます。
プロジェクトにフォントを追加する手順
キーFonts provided by application.
を使用してplistに説明を追加し、プロジェクトターゲット設定でコピーバンドルリソース内にフォントファイルを配置することを忘れないでください。
はい!それは..njoy ..
フォントスタイルを変更する場合は、[UIFont fontWithName:@"ArialMT" size:14];
メソッドを直接使用できます。また、すべてのフォントがiphoneライブラリで使用できるわけではありません。使用可能なフォントスタイルについては、 this を参照してください。
.otf形式がある場合。いつかこのフォーマットは機能しません。 .otf形式を.ttfに変換します。オンラインでたくさんのフォントコンバータがあります。上記で説明したように、アプリケーションが提供するフォントの下にある.plistファイルにカスタムフォントを追加したら。プロジェクトビルドの[ビルドフェーズ]-> [Bundel Resourseのコピー]でファイルが存在することを確認します。そうでない場合は追加します。次に、コードにこの[UIFont fontWithName:@ "your custom font" size:your choice of size]を追加します。