iPhoneシステムフォント


98

iPhoneのデフォルトのシステムフォントの名前は何ですか?

をカスタマイズするためにこれを取得したいと思いますUIView

回答:


109

どこでもフォントの純粋主義者を喜ばせるために、iPhoneシステムインターフェイスはHelveticaまたはその変形を使用しています。

オリジナルのiPhone、iPhone 3G、iPhone 3GSのシステムインターフェイスはHelveticaを使用しています。常に優れたDaringFireballによって最初に指摘されたように、iPhone 4は「Helvetica Neue」と呼ばれる微妙に改訂されたフォントを使用しています。DaringFireballはまた、この変更はiOS 4オペレーティングシステムではなくiPhone 4のディスプレイに関連しており、iOS 4を実行している古いiPhoneモデルでもシステムフォントとしてHelveticaを使用していることにも言及しています。

iPhoneより前にリリースされたiPodモデルはChicago、Espy Sans、またはMyriadのいずれかを使用し、iPhoneのリリース後はHelveticaを使用します。

http://www.everyipod.com/iphone-faq/iphone-who-designed-iphone-font-used-iphone-ringtones.htmlから

iOS9それがに変更されましたサンフランシスコ。詳細については、http://developer.apple.com/fontsを参照してください。


6
現在、Helvetica Neue Regularフォントです。
オーガスティン

4
iOS9では、San Fransiscoに変更されました。詳細については、developer.apple.com / fontsを参照てください。
Freek Sanders

103

プログラムによるカスタマイズを行う場合は、システムフォントをハードコーディングしないでください。使用UIFont systemFontOfSize:UIFont boldSystemFontOfSize:およびUIFont italicSystemFontOfSizeアップルのドキュメント)。

これは、システムフォントをHelvetica Neueに変更したiOS 7以降、特に重要になっています。

これはなってきたスーパーシステムフォントを変更iOSの9、以来、特に関連再びサンフランシスコへ。


1
システムフォントを変更するつもりはありません。これは悪い考えです。しかし、UIWebViewの一部のhtmlにそれが必要です。
SK9

これはシステムフォントを変更しません。UIFont指定されたサイズを使用してシステムフォントのインスタンスを提供するだけであり、将来のiOSの更新に関係なく常にシステムフォントを返します。
Adam Wright、

UIWebViewに表示されているフォントがHelveticaのように見えません。私は間違っているかもしれませんが、私のビューのフォントを設定すると、私の疑問が取り除かれます。
SK9

「システムフォントをハードコーディングしないでください」というのは、状況に応じて、良いアドバイスになるか、本当に悪いアドバイスになるかです。個人的には、ハードコードしていたらいいのですがHelvetica...
Dan Rosenstark 2013

完全に同意します。ハードコードしないでください。これがこの質問の正しい答えになるはずです
Esteve

16

afaik iPhoneはデフォルトで「Helvetica」を使用<iOS 10


他の回答からわかるように、それはiOSのバージョンに依存します
ericosg

12

迅速

特定のフォント

Swiftで特定のフォントを設定するには、次のようにします。

let myFont = UIFont(name: "Helvetica", size: 17)

名前がわからない場合は、次のように使用可能なフォント名のリストを取得できます。

print(UIFont.familyNames())

または、次のようなさらに詳細なリスト:

for familyName in UIFont.familyNames() {
    print(UIFont.fontNamesForFamilyName(familyName))
}

ただし、システムフォントはiOSのバージョンによって異なります。したがって、システムフォントを動的に取得することをお勧めします。

システムフォント

let myFont = UIFont.systemFontOfSize(17)

しかし、サイズはハードコードされています。ユーザーの目が悪く、フォントを大きくしたい場合はどうでしょうか。もちろん、ユーザーがフォントサイズを変更するようにアプリで設定することもできますが、ユーザーが携帯電話のすべてのアプリに対して個別にこれを行う必要がある場合、これは面倒です。一般設定を1つ変更するだけの方が簡単です...

動的フォント

let myFont = UIFont.preferredFont(forTextStyle: .body)

ああ、これで、ユーザーが選択したテキストスタイル用のシステムフォントができました。これがフォントの設定に推奨される方法です。詳細については、動的型のサポートを参照してください。

関連する


11

いつでも使用できます

UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);

答えは:

iOS 6まで

 Helvetica Helvetica

iOS 7

.Helvetica Neue Interface .HelveticaNeueInterface-M3

しかし、あなたはただ使うことができます Helvetica Neue


1
iOS 9のSwiftでは、私は次の.SFUIText-RegularようになりますsystemFont.familyName
Daniel


8

デフォルトのシステムフォント名を取得するAPIがあるかどうかはわかりません。だから私はこのような名前を取得します:

    //get system default font
    UILabel *label = [[UILabel alloc] init];        
    fontname = label.font.fontName;
    [label release];

ばかげているように見えるが、それは動作します。


17
UIFont * font = [UIFont systemFontOfSize:12.0]; <!-デフォルトのフォントを取得
Steven Baughman 2012年

より簡単な方法があります。しかし、箱から出して考えるための+1
Krishnabhadra 2013年

それは良く見えます:P [UIFont systemFontOfSize:[UIFont labelFontSize]];以下の私の答えを見てください。
アントンGaenko 2014年

3

iOS 7をサポートするためのアップデートがいくつかあります。それはDynamic Font Size今です。

「ダイナミックタイプ」をサポートするすべてのアプリの場合、ユーザーはiOS 7でシステム全体で機能するフォントサイズを選択できます。[設定]の[全般]セクションにアクセスし、[フォントサイズ]を選択するだけです。

UIFont *dynamicFont  = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];

定数一覧と詳しい説明はこちら

NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;

3

カテゴリーUIFontSystemFontsためUIFontUIInterface.hは)いくつかの便利な定義済みのサイズを提供します。

@interface UIFont (UIFontSystemFonts)
 + (CGFloat)labelFontSize;
 + (CGFloat)buttonFontSize;
 + (CGFloat)smallSystemFontSize;
 + (CGFloat)systemFontSize;
@end 

チャットメッセージ(ラベル)に使用し、テキストブロックのサイズを取得する必要がある場合にうまく機能します。

 [UIFont systemFontOfSize:[UIFont labelFontSize]];

幸せなコーディング!


3
UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];

これにより、システムフォントがデフォルトでラベルテキストに適用されるデフォルトのシステムフォントサイズで表示されます。


2

迅速

デフォルトのフォントはいつでもAppleによって変更される可能性があるため、フォント名をハードコーディングするのではなく、常にシステムのデフォルトを使用する必要があります。

サイズが異なる(ラベル、ボタン、その他)のシステムデフォルトフォント(通常、太字斜体)がいくつかあります。

let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)

デフォルトのフォントサイズはターゲットビュー(ラベル、ボタン、その他)に依存することに注意してください

例:

let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)

0
  1. 必要な.ttfファイルをダウンロードする

  2. コピーバンドルリソースの下に.ttfファイルを追加します。リソースの下にttfファイルが追加されているかどうかを再確認します

  3. info.pllistにttfファイル名をそのまま追加します。

  4. フォントブックを開き、フォントブックに.ttfファイルを追加します。情報アイコンを選択すると、ポストスクリプト名が表示されます。

  5. フォント名の代わりにポストスクリプト名を付けます


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.