31

私のinfo.plistに、キー「アプリケーションが提供するフォント」を追加して追加しましたEdwardianScriptITCStd.otf ここに画像の説明を入力

しかし、そのフォントを取得しようとすると、nil が返されます。

NSLog(@"%@", [UIFont fontWithName:@"EdwardianScriptITCStd" 
                                size:16.0f]);

を使用してフォントファミリを印刷しました[UIFont familyNames]が、そこにもありません:

(
    Thonburi,
    "Snell Roundhand",
    "Academy Engraved LET",
    "Marker Felt",
    "Geeza Pro",
    "Arial Rounded MT Bold",
    "Trebuchet MS",
    Arial,
    Marion,
    "Gurmukhi MN",
    "Malayalam Sangam MN",
    "Bradley Hand",
    "Kannada Sangam MN",
    "Bodoni 72 Oldstyle",
    Cochin,
    "Sinhala Sangam MN",
    "Hiragino Kaku Gothic ProN",
    Papyrus,
    Verdana,
    "Zapf Dingbats",
    Courier,
    "Hoefler Text",
    "Euphemia UCAS",
    Helvetica,
    "Hiragino Mincho ProN",
    "Bodoni Ornaments",
    "Apple Color Emoji",
    Optima,
    "Gujarati Sangam MN",
    "Devanagari Sangam MN",
    "Times New Roman",
    Kailasa,
    "Telugu Sangam MN",
    "Heiti SC",
    "Apple SD Gothic Neo",
    Futura,
    "Bodoni 72",
    Baskerville,
    "Chalkboard SE",
    "Heiti TC",
    Copperplate,
    "Party LET",
    "American Typewriter",
    "Bangla Sangam MN",
    Noteworthy,
    Zapfino,
    "Tamil Sangam MN",
    "DB LCD Temp",
    "Arial Hebrew",
    Chalkduster,
    Georgia,
    "Helvetica Neue",
    "Gill Sans",
    Palatino,
    "Courier New",
    "Oriya Sangam MN",
    Didot,
    "Bodoni 72 Smallcaps"
)

私は何が欠けていますか?ありがとう!

4

6 に答える 6

82

コメントが長くなり始めたので、代わりに回答を送信することにしました:)

  1. カスタム フォントは iOS 3.2 以降でのみサポートされているため、展開ターゲットのビルド設定がバージョン 3.2 よりも前に戻らないようにしてください。

  2. フォントがビルド ターゲットに含まれていることを確認します (「バンドル リソースのコピー」ビルド フェーズで)。

  3. 「アプリケーションによって提供されるフォント」のキーの生の値をチェックして、それが正しいことを確認します。Xcode で *.plist を表示しているときに、右クリックして [生のキー/値を表示] を選択し、キーが であることを確認しますUIAppFonts

  4. を使用する場合、iOS ではフォントの PostScript 名が必要だとfontWithName: size:思います。これは、Apple の Font Book でフォントを開いて と入力することで検索/確認できますcommand+I

  5. ある時点で、カスタム フォントとUILabel. この問題がまだ存在するかどうかはわかりません。UILabel解決策は、フォントをサブクラス化して設定することでした。

それでもうまくいかない場合は、カスタム フォントに関するこのスタック オーバーフロー スレッドにかなりの情報があります。

編集
私があなたと同じフォントファイルを持っているという保証はありませんが、私のマシンではPostScript名は「EdwardianScriptITC」です

于 2012-04-21T00:57:37.397 に答える
6

フォント名に「-」文字が含まれている場合は、スペース文字に置き換えてください。たとえば、Arial-Bold.ttf は [UIFont fontWithName:"Arial Bold" size:10]; のように使用されます。

于 2015-10-22T07:09:48.267 に答える
1

使用するフォント名は、FontBookの「家系の名前」のようです。PostScript名を試しましたが、常に機能するとは限りません。家系の名前は、私が知る限り、これまで常に機能してきました。

上記の回答で述べたように、Font Book内でこの情報を確認し、フォントを選択してcmd+Iを押します。

お役に立てれば...

于 2012-07-12T09:35:28.640 に答える
0

以前はカスタム フォントが正常に動作していたと断言していましたが、この問題がありました。

参照を再確立できるように、XCode プロジェクトのプロジェクトで「クリーン」を実行する必要があったことがわかりました。

于 2014-05-06T19:31:10.650 に答える