web-dev-qa-db-ja.com

プログラムでXcodeを使用してiOS(例:Helvetica CY.ttf)でカスタムフォントを使用する方法

  • アプリでHelvetica CYフォントを使用しようとしています。 Apple docsで推奨されているように構成しました。
  • カスタムフォントはストーリーボードのドロップダウンに表示されますが、プログラムで同じフォントを使用できませんクラスファイルにあります。
  • アプリで使用できるすべてのフォントファミリーをログに記録しましたが、「Helvetica CY」がコンソールログに出力されません。

どんな助けでもありがたいです。

ありがとう!

6
Deepak Chandra

その単純なだけ。 xcode6.1でも機能します。

これを使ってみてください ステップ:

ステップ1:XCodeプロジェクトにフォントを含める

ステップ2:ターゲットに含まれていることを確認します

ステップ3:フォントがバンドルにリソースとして含まれていることを再確認してください

ステップ4:iOSカスタムフォントをアプリケーションのplistに含める

ステップ5:フォントの名前を見つける

for (NSString* family in [UIFont familyNames])
{
    NSLog(@"%@", family);

    for (NSString* name in [UIFont fontNamesForFamilyName: family])
    {
        NSLog(@"  %@", name);
    }
}

ステップ6:UIFontを使用して、フォントの名前を指定します

label.font = [UIFont fontWithName:@"Helvetica CY" size:20];
38

Appleは、アプリケーションをカスタマイズし、カスタムフォントを追加できるようにするための一連のフォントを提供しています。

ステップ

  1. フォントファイル(.ttfまたは.otf)をメインバンドルにコピーします。

  2. 「アプリケーションによって提供されるフォント」という名前の新しい配列として、ファイル名をinfo.plistに追加します。

  3. フォントのポストスクリプト名をこの配列に追加することは非常に重要です。つまり、各フォントには、info.plistにフォント名(拡張子付き)とそのポストスクリプト名があります。

  4. Postスクリプト名を見つけるには、MacでFontbookアプリケーションを開き、フォントファイルを追加します。フォントファイルをフォントブックに追加した後、そのフォントの情報タブを見るだけで、Postスクリプト名が見つかります。

  5. 使用は非常に簡単です。フォントのポストスクリプト名を使用してください。

    nameLabel.font = [UIFont fontWithName:@"HelveticaCY-Plain" size:22];
    

enter image description here

20
christijk

このリンクを投げて、手順に従ってください。それはすべてのステップを持っています http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/

1
Niharika

私も同じ過ちを犯しました。重要なのは上記の答えです。

for (NSString* family in [UIFont familyNames]) {
   NSLog(@"%@", family);

   for (NSString* name in [UIFont fontNamesForFamilyName: family]) {
       NSLog(@"  %@", name);
   }
}

プロジェクトフォルダにGOTHIC.TTFファイルを含めました。

そして、私のInfo.plistで、「アプリケーションによって提供されるフォント」にGOTHIC.TTFを含めました。

でも驚きです!フォントは「GOTHIC」ではなく「CenturyGothic」と呼ばれています。

[cell.textLabel setFont:[UIFont fontWithName:@"CenturyGothic" size:24]];
1
Markus

誰かがSwiftフォントを取得するための3つのコードに興味がある場合:

for family in UIFont.familyNames
{
    print("Family: \(family)")

    for name in UIFont.fontNames(forFamilyName: family)
    {
        print("Name: \(name)")
    }
}
0
Mohit Padalia