web-dev-qa-db-ja.com

Xcode 5のカスタムフォント

Xcode 5でカスタムフォントを追加する方法と、プロジェクト内のすべてのラベルをそのフォントに変更する方法を教えてください。これはプログラムでしかできないと聞いたことがありますか?

23
Mr Big Problem

より良いオプションは、新しいフォントをシステム/ OSフォントディレクトリに追加し、そこからストーリーボードに追加したり、NSAttributed文字列で使用したりすることです。

手順:

  1. フォントの.ttfファイルをダウンロードする
  2. ストーリーボードの任意のラベル/テキストビューに移動し、右上の属性インスペクターで「テキスト」を選択してから、「属性」を選択します
  3. フォント名の横にある小さなTアイコンをクリックして、フォントエディターを開きます。
  4. Cog/wheel/settingアイコンに移動して、「Manage Fonts」を選択します
  5. 右から2番目の「+」ボタンをクリックし、フォント.ttfファイルに移動してシステムフォントコレクションに追加します
  6. ストーリーボードまたはコードのフォント名を変更して、フォントを使用してください:)

お役に立てば幸いです!

2
Daniel Swan

カスタムフォントを使用して、すべてのラベルをプログラムで設定する必要があります。

カスタムフォントを使用するには:

1 /リソース(フォント.ttfまたは.otf)などのカスタムフォントをプロジェクトに追加します

2/info.plistにキーUIAppFonts(アプリケーションが提供するフォント)と各カスタムフォントの名前(例:SohoGothicStd.ttf)を追加します

3 /フォントを使用するためのマクロを作成できます

#define FONT_SOHO_STD(s) [UIFont fontWithName:@"SohoGothicStd" size:s]

4 /ラベルpar exempleにこのマクロを使用します。

_myLabel.font = FONT_SOHO_STD(15.0f);
70
Jordan Montel

アプリケーション全体のすべてのラベルにカスタムフォントを設定するには、[UILabel appearance]プロキシを使用する必要があると思います。 AppDelegatedidFinishLaunchingWithOptions関数に次の行を追加して、プロジェクトのすべてのUILabelsにカスタムフォントを設定します。

UIFont *newFont = [UIFont fontWithName:@"My-Custom-Font-Name" size:14];
[[UILabel appearance] setFont:newFont];

注:フォントがXcodeプロジェクトにあることを確認する必要があります。

以下は、プロジェクトにカスタムフォントを追加するための手順です。

  1. Xcodeをリ​​ソースとして使用して、カスタムフォントファイルをプロジェクトに追加します
  2. UIAppFontsという名前のInfo.plistファイルにキーを追加します。
  3. このキーを配列にする
  4. 持っているフォントごとに、UIAppFonts配列のアイテムとしてフォントファイルの完全な名前(拡張子を含む)を入力します。
  5. 保存Info.plist

以下からの手順: カスタムフォントをiPhoneアプリケーションに埋め込むことはできますか?

15
Yas T.

はい、コードでそれを行う必要があります。 XCode5がそのような新しい機能を追加したとは思わない。プログラムで実行するには、次の手順を実行します。

UILabelのサブクラスであるクラスを作成し、Helverica-Boldでフォントサイズ14のTitleのようなものがあると言います

IN .hファイル

#import <UIKit/UIKit.h>

@interface MyLabel : UILabel {

}

@end

.mファイル内

    #import "MyLabel.h"

    @implementation MyLabel

    - (id)initWithCoder:(NSCoder *)coder {
    self = [super initWithCoder:coder];
    if (self) {
        self.font = [UIFont fontWithName:@"Helvetica-Bold" size:14];
    }
    return self;
}

    @end

別のサブクラスを使用しない別の例

-(UILabel *) myTitleLabel {
    UILabel *label = [[UILabel alloc] init];
    label.backgroundColor=[UIColor clearColor];
    [label setFont:[UIFont fontWithName:@"Helvetica-Bold" size:14]];
    label.textColor=[UIColor colorWithRed:(79.0 / 255.0) green:(79.0 / 255.0) blue:(79.0 / 255.0) alpha: 1];
    [label setTextAlignment:NSTextAlignmentLeft];
    [label sizeToFit];
    return label;
}

次に、myTitleLabelクラスを使用してオブジェクトを作成し、すべてのtitleLabelオブジェクトが同じ色とフォントサイズになるようにします。

5
Bishal Ghimire

次の手順を使用して、Xcodeでカスタムフォントを作成できます。

  1. フォントタイプをプロジェクトにインポートします(* .ttfファイル)
  2. 「アプリケーションが提供するフォント」キーをプロジェクトのplistに追加します。
  3. 「アプリケーションが提供するフォント」キーの項目配列としてカスタムフォントを追加します。
  4. これで、ラベルのフォントを次のように使用できます。

    [lblName setFont:[UIFont fontWithName:@“CustomFontName” size:14.0]];

1

ここでの回答は問題ありませんが、カスタムラベルの設定をできるだけ少なくし、サイズをハードコーディングしないことをお勧めします。次のように簡単に実行できます。

#import "CustomFontLabel.h"

@implementation CustomFontLabel

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self setFontStyle];
    }
    return self;
}

- (id)initWithCoder:(NSCoder *)aDecoder {
    self = [super initWithCoder:aDecoder];

    if (self) {
        [self setFontStyle];
    }

    return self;
}

- (void)setFontStyle {
    CGFloat fontSize = self.font.pointSize;

    [self setFont:[UIFont fontWithName:@"LindenHill" size:fontSize]];
}

@end

これにより、ストーリーボードで設定した他のすべての設定が尊重され、すべてを管理しやすくなります。

1
Alper