web-dev-qa-db-ja.com

iPhone SDKに新しいフォントを含めて使用する方法は?

IPhoneアプリで「MgOpen Modata」フォントを使用したい。しかし、プロパティインスペクターのフォントリストには表示されません。

そのフォントを使用できるように含めるにはどうすればよいですか?

59
meetpd
  1. フォントファイルをリソースファイルに追加します
  2. Info.plistを編集します。キーFonts provided by applicationを使用して新しいエントリを追加します。
  3. ファイルごとに、この配列にファイル名を追加します

以下の例では、フォント「DejaVu Sans Mono」を追加しました:

Info.plist: adding custom fonts

アプリケーションでは、[UIFont fontWithName:@"DejaVuSansMono-Bold" size:14.f]を使用できます。

または、html/cssで使用する場合は、font-family:DejaVu Sans Mono;を使用します

注:これはiOS 3.2以降で使用可能です。

148
Jilouc

このチュートリアル が最高だった

上記の回答は機能しますが、XIBファイルにテキストを追加し、フォントを新しいフォントに設定した場合、テキストは更新されないことがわかりました。

新しいフォントがリソースに含まれていることを確認して、この問題を解決しました(ウォークスルーから直接取得):

」これは問題ではありませんが、フォントフェイスの表示に問題がある場合は頭痛の種になります。潜在的な落とし穴

ソリューションエクスプローラーでXCodeプロジェクトファイルを強調表示してプロジェクトのビルドフェーズペインに移動し、右側で[ビルドフェーズ]を選択します。展開できるセクションの1つは「バンドルリソースのコピー」です。そのリストを開き、フォントがそのリストに含まれていることを確認してください。 "

Make sure the fonts are included in our resources

チュートリアルのその他のものは、同じ種類のものです(ファイルをプロジェクトに追加し、plistファイルにも追加します)

この回答は、Chrisによるコードの功績であり、多くの時間と労力を節約しました。リンクをクリックする代わりに、この回答が自分の足で立つように彼のページからショットをコピーするだけです。

14
simon_smiley

開発者が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"

6
halbano

ほとんどの場合、アプリケーションのターゲットにフォントを追加することを忘れます。この重要なステップを忘れていないことを確認してください。右側のパネルをチェックする心ファイルインスペクター>ターゲットメンバーシップチェックボックス。

enter image description here

また、このコードスニペットをアプリの任意の場所で実行して、フォントがアプリケーションに適切に追加されているかどうかを確認できます。

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);
    }
}

これにより、アプリで使用可能なフォントのリストが作成され、追加されたフォントも表示されます。

6
Vaibhav Saran

'Targets'-> 'Build Phases'-> 'Copy Bundle Resources'に移動し、すべてのフォントを手動で追加して、ターゲットにフォントを追加することを忘れないでください

6
mgm

Xamarin iOSで

ステップ1:まず、プロジェクトに.ttfまたは.otfファイルを追加する必要があります。

likeRoboto-BoldItalic.ttf

ステップ2:フォントを右クリックし、プロパティを選択します

  1. ビルドアクション->コンテンツ
  2. 出力ディレクトリにコピー->常にコピー

ステップ3:info.plistに移動

プロパティFonts provided by applicationを選択し、フォント名を追加します。

enter image description here

ステップ4:

fontをプログラムで設定します

account.Font = UIFont.FromName("Roboto-BoldItalic", 18f);
1
Ironman

その簡単でシンプルな今-Xcode 9.2およびSwift 4でテスト済み

Xcodeにフォントを追加する手順

UILabel、UITextField、またはフォントセクションの下にあるものを選択して、

ステップ1

フォント選択画面の左隅から設定メニューを選択します。そして、フォントマネージャーオプションを選択します。

enter image description here

ステップ2

以下のマークのある追加ボタンをクリックします。

enter image description here

ステップ3

フォントを含むフォルダーを選択します。 XCodeフォントリストに読み込まれます。

プロジェクトにフォントを追加する手順

キーFonts provided by application.を使用してplistに説明を追加し、プロジェクトターゲット設定でコピーバンドルリソース内にフォントファイルを配置することを忘れないでください。

はい!それは..njoy ..

0
Saranjith

フォントスタイルを変更する場合は、[UIFont fontWithName:@"ArialMT" size:14];メソッドを直接使用できます。また、すべてのフォントがiphoneライブラリで使用できるわけではありません。使用可能なフォントスタイルについては、 this を参照してください。

0
Sarah

.otf形式がある場合。いつかこのフォーマットは機能しません。 .otf形式を.ttfに変換します。オンラインでたくさんのフォントコンバータがあります。上記で説明したように、アプリケーションが提供するフォントの下にある.plistファイルにカスタムフォントを追加したら。プロジェクトビルドの[ビルドフェーズ]-> [Bundel Resourseのコピー]でファイルが存在することを確認します。そうでない場合は追加します。次に、コードにこの[UIFont fontWithName:@ "your custom font" size:your choice of size]を追加します。

0
GameBegins