web-dev-qa-db-ja.com

Interface Builderのカスタムフォント

2014年になりましたが、Interface Builderでカスタムフォントを設定する方法はまだありますか?つまり、アプリのplistの「アプリケーションが提供するフォント」を除き、プログラムで実行しません。

51
Jonny

はい、マリウスは正しいです。 Xcode 6では、追加のソフトウェアを使用したり、コードファイルにフォントを設定したりする必要はありません。他のファイルとともにプロジェクトにフォントファイルを追加するだけです。また、Interface Builderは、カスタムフォントリストに追加されたフォントを表示します。

そして最も驚くべきことは、xcode 6は適用されたフォントをIBで即座に表示することです。これはAppleによる素晴らしい追加です。

また、プロジェクトのinfo.plistにこのキー「アプリケーションが提供するフォント」を追加し、フォントファイル名を指定してデバイスでの効果を確認してください。

70
Asif Bilal

Xcode 6では、インターフェイスビルダーでカスタムフォントを使用できます。

追加のソフトウェアは必要ありません。アップルありがとう!

14
Marius Popescu

Xcode 6では、プロジェクトにttfファイルを追加し、カスタムフォントを介してストーリーボードで使用します。ストーリーボードで使用せずにコードで直接使用する場合は、projectName-Info.plistにキー「UIAppFonts」を追加する必要があります。

例:

<key>UIAppFonts</key> 
<array>
    <string>Signika-Bold.ttf</string>
    <string>Signika-Regular.ttf</string>
    <string>Signika-Light.ttf</string>
    <string>Signika-Semibold.ttf</string>
</array> 

projectName-Info.plistの</dict>行の直前。

UIFont* font  = [UIFont fontWithName:@"Signika-Regular" size:25];
9
ankurkumar

これが私の解決策です

#import "UILabelEx.h"
#import "Constants.h"

@implementation UILabelEx

//- (void)layoutSubviews
//{
//    [super layoutSubviews];
//    // Implement font logic depending on screen size
//    self.font = [UIFont fontWithName:@"CustomFont" size:self.font.pointSize];
//}

- (void) traitCollectionDidChange: (UITraitCollection *) previousTraitCollection {
    [super traitCollectionDidChange: previousTraitCollection];

    self.font = [UIFont fontWithName:APP_FONT size:self.font.pointSize];
}
@end
1
Jules

誰かがそれに取り組んだようです。 MoarFonts を見ることができます:

MoarFonts

Interface BuilderでiOSプロジェクトにカスタムフォントを直接使用する、WYSIWYGの方法

セドリック・ルティ「 xced

費用は10 $ですが、:

IOS 3.2以降、UIAppFonts Info.plistキーを追加することにより、iOSアプリでカスタムフォントを使用できます。残念ながら、Interface Builderでxibファイルを編集する場合、カスタムフォントは使用できません。 MoarFontsは、Interface Builder内でカスタムフォントを利用できるようにします。

MoarFontsは、Xcode 4とXcode 5の両方と互換性があります。

1
rdurand