2011-01-07 10 views
4

this私のiPhoneアプリにカスタムフォントを埋め込む方法を使用しています。カスタムフォントが表示されたUILabel *間違ったカスタムフォント

埋め込みの動作:次のコードを実行すると、フォントが一覧表示されます。私はMyriadProまたはMyriadPro-太字にラベルのフォントを設定しようとすると

for(NSString *familyName in [UIFont familyNames]){ 
    for(NSString *fntName in [UIFont fontNamesForFamilyName:familyName]){ 
     NSLog(@"%@", fntName); 
}} 

(現在、私はOTF形式で無数のプロの家族全員を埋め込んだ)、これは予想と同じように動作します。しかし、フォントをMyriadPro-BoldCondに設定すると、圧縮されたバージョンではなく、MyriadPro-Boldでラベルが設定されたままになります。 (フォント名は正しく、私はチェックしました。)私のコード:

[recommendationLabel setFont:[UIFont fontWithName:@"MyriadPro-BoldCond" size:140]]; 
recommendationLabel.adjustsFontSizeToFitWidth = YES; 

どうしますか?

編集: - 少なくとも無数のプロのために - 正しいフォントバリアントとしてすぐに私はplistのから未使用のフォントを削除として表示されます以下Ingveのソリューションに加えて、私はあることを見出しました。この場合、MyriadPro-SemiBoldを削除する必要がありました。気が散る。

答えて

5

UIFontはフォントファミリごとに2つのバリエーションに制限されています。しかし、これを回避するには、エディタで追加のn-2フォントを開き、ファミリ名を変更します。

ここに私自身の質問に答えました:UIFont fontWithName: limited to loading 2 variations per family

+1

これはまだ当てはまりますか? 4年後? –

2

多分UIFontの制限はありますか?あなたはコアテキストを使ってみましたか?

iOS Core Text Fontsによれば、「Core Text」ではより多くのフォントにアクセスすることはできませんが、より多くのフォントバリエーションをサポートしています。例:Helvetica NeueはUIFontを使用すると4種類コアテキストを使用する場合のバリエーション」を参照してください。

+0

面白そうですね。私は試して、報告します。 – winsmith

+2

そして私は戻ってきた。コアテキストを使用するのは確かに機能します。しかし、NSLabelを使用する場合に比べて、特にInterface Builderを使用してアプリケーションをレイアウトしている場合には、多くの作業が必要です。 – winsmith