web-dev-qa-db-ja.com

Xcode 9カスタムフォントが機能しない

カスタムフォントがXcode 9で機能しない。ただし、同じプロジェクトをXcode 8で開いた場合、カスタムフォントは期待どおりに機能する

フォントが確実に表示されるように、次のコードを実行しました。

NSArray *fontFamilies = [UIFont familyNames];

for (int i = 0; i < [fontFamilies count]; i++)
{
    NSString *fontFamily = [fontFamilies objectAtIndex:i];
    NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
    NSLog (@"%@: %@", fontFamily, fontNames);
}

フォントがplist、チェックされたターゲットメンバーシップ、およびコピーバンドルリソースセクションにあることを確認しました。

これはXcodeのバグですか?

11
MobileMon

この問題があります、、、

フォントフォルダをクリックして、それらが「ターゲットメンバーシップ」に含まれていることを確認してください。

enter image description here

4
Ahmed Safadi

Xcode 9.2も使用していますが、同じ問題にも直面しています。

私がやったことは、アプリ内にカスタムフォントフォルダーを直接追加したことです。フォントフォルダーを直接追加すると、このような問題が発生する可能性があります。バンドルリソースのコピービルドフェーズタブ内のフォントファイルは反映されません。この問題を解決するために、次の手順を使用しました。

  1. まず、バンドル内のfont.ttfファイルを選択し、右側のFile Inspectorの下でプロジェクトのTarget Membershipオプションにチェックマークを付けます。

  2. プロジェクトターゲットに移動し、ビルドフェーズ goto コピーバンドルリソースの下に移動し、+ボタンをクリックしてすべてのフォントを追加します(font.ttfファイルはフォルダーではなく必ず追加してくださいそのfont.ttfファイルを含む)

  3. また、ファイルをプロジェクト内にドラッグするときに、ファイルが適切に追加されていることを確認してください。チェックすることを忘れないでください必要に応じて項目をコピーするオプション。最も重要なことは、キーアプリケーションによって提供されるフォントをinfo.plistファイルに追加し、その後にプロジェクトで使用したすべてのカスタムフォントを追加します。

お役に立てれば。ハッピーコーディング:)

2

Xcode 9を使用してプロジェクトのカスタムフォントの問題を解決しました。次の手順は次のとおりです。

1-バンドルのフォントに追加します。 2-アプリケーションが提供するフォントの下にplistファイルのフォント名を追加します3-ターゲット->ビルドフェーズに移動し、フォントファイルを追加します。

これでプロジェクトを実行できます。アプリケーションのカスタムフォントに表示されます。

1
Pravesh Uniyal

コンパイラーが青いディレクトリフォルダー内にある場合(どうやら)フォントファイルをフォルダーの外に移動し、ビルドして問題を解決しました(GRR!)

1
Bil Kimes

Xcode 9でプロジェクトを開いた後も同じ問題がありましたが、フォントを含めることで解決しました。 (それらを削除し、プロジェクトをクリーンアップし、それらを含め、プロジェクトをビルドしました)。

ターゲットでチェックインしたが、カスタムフォントとして選択するために表示されないが、ローカリゼーション(ターゲットチェックの上)を 'base'またはいくつかに指定しようとすることができます。その後、それらはストーリーボードに表示されますが、ロードできませんコード内(少なくとも私の場合)。ただし、再インクルードする方が良い方法です。

1
Tomáš John