5

プロジェクトでこのフォントを使用しようとしていますが、機能しません。プロジェクトに.ttfファイルを追加し、MyApp-Info.plistのキーの下にその名前を追加しました:アプリケーションによって提供されるフォント。それから私はこれを試しました:

 [_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]];

フォントの名前が本当に「黒板」であるかどうかも確認しました。表示されるフォントはHelveticaのままで、小さいだけです。問題はどこにあるのでしょうか?前もって感謝します。

4

6 に答える 6

32

ファイル名ではなく、フォント名を使用する必要があります。フォント名はttfファイル内にあります。

iOSのフォント名はここで見つけることができます:http://iosfonts.com/

このコードは、アプリ内のすべてのフォント名を一覧表示し、メインコントローラーのviewDidLoadのどこかに配置し、アプリを実行してから、コンソールでフォントの正しい名前を見つけます。

NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];

NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
    NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
    fontNames = [[NSArray alloc] initWithArray:
                 [UIFont fontNamesForFamilyName:
                  [familyNames objectAtIndex:indFamily]]];
    for (indFont=0; indFont<[fontNames count]; ++indFont)
    {
        NSLog(@"    Font name: %@", [fontNames objectAtIndex:indFont]);
    }
}

更新

Finderでフォントファイルを右クリックし、情報を取得してフルネームをコピーすることもできます。しかし、それは必ずしも100%ではありません。

于 2012-02-24T17:51:38.540 に答える
24

Flinks answerは、フォントが正しくロードされているかどうかを確認するための便利なツールです。

以下をせよ:

[_titleLabel setFont:[UIFont fontWithName:@"chalkboard" size:_titleLabel.font.pointSize]];

フォントがバンドルに含まれていることを確認してください。

  • プロジェクトをクリックします
  • に移動build phases
  • の下'Copy Bundle Resources'に、フォントが含まれていることを確認します

私のために働いた:)

于 2012-03-26T11:00:49.117 に答える
3

Xcode4.3.1カスタムフォントに問題があります。新しいプロジェクトを作成してXcode4.2.1でカスタムフォントを追加しようとしても、問題はありません。

何度かやりました。面白い...

于 2012-03-20T08:14:51.980 に答える
1

「すべての」フォントに互換性があるわけではないという私の経験。ほとんどは機能しますが、どんなに頑張ってもコードで認識されないフォントがいくつかあります...問題が発生した場合は、別のフォントを試してみてください。

于 2013-04-21T13:43:02.153 に答える
1

  1. XCodeプロジェクトにフォントを含める
  2. それらが[ファイルインスペクター]タブのターゲットメンバーシップに含まれていることを確認してください
  3. プロジェクト名>ビルドフェーズ>バンドルリソースのコピーにフォントを含めます
  4. iOSカスタムフォントをアプリケーションのplistに含めます。「アプリケーションによって提供されるフォント」という新しい行を追加し、フォント名と拡張子をパラメーターとして入力します。
  5. フォントの名前を見つけます。
  6. UIFontを使用して、フォントの名前を指定します。

    UILabel * headingLabel = [[UILabel alloc] initWithFrame:CGRectMake(10、290、300、30)];
    headingLabel.text = @ "WELCOME";
    headingLabel.font = [UIFont fontWithName:@ "Arvo" size:14.0];

ソース:http ://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/

于 2013-09-13T08:02:54.827 に答える
0

インポートしたすべてのフォントが機能しているわけではありません。別のフォントでテストしてみてください。それが機能する場合、それはXcodeによって認識されません。プロジェクトのplistファイルに含まれている必要があり、plistの「.otf」や「.ttf」などの拡張子名である必要があることに注意してください。また、ターゲットの下の「バンドルリソースのコピー」に追加します

于 2014-03-18T07:50:00.983 に答える