web-dev-qa-db-ja.com

プログラムでiOSシステムフォントにアクセスする方法

ナビゲーションバーのタイトルのフォントサイズを変更しようとしています。私は次を使用してその属性を設定できることを知っています:

var attributes = [ NSForegroundColorAttributeName: UIColor.blackColor(), NSFontAttributeName: UIFont(name: "the font name", size: 18)! ]

...

 self.navigationController?.navigationBar.titleTextAttributes = attributes

見つけられないように見えるのは、正しい「システム」フォント名です。

デフォルトのa.k.a Systemのフォント名の後にいました。使用可能なすべてのフォントを印刷してみましたが、それはファミリに属しておらず、明示的な名前がないようです。

33
goggelj

あなたが必要だと思う:

NSFontAttributeName : UIFont.systemFontOfSize(19.0)

または太字バージョン:

NSFontAttributeName : UIFont.boldSystemFontOfSize(19.0)

ユーザーインターフェイスのガイドラインとフォントの詳細については、 このガイド を参照してください。

79
Roland Keesom

このようなシステムフォントにアクセスし、フォントの重みを設定することもできます。

  • SwiftSwift 4

    UIFont.systemFont(ofSize: 18, weight: UIFontWeightLight)

  • スイフト2

    UIFont.systemFontOfSize(18, weight: UIFontWeightLight)

フォントの太さについては、これらの定数から選択できます。 iOS 8.2

UIFontWeightUltraLight,
UIFontWeightThin,
UIFontWeightLight,
UIFontWeightRegular,
UIFontWeightMedium,
UIFontWeightSemibold,
UIFontWeightBold,
UIFontWeightHeavy,
UIFontWeightBlack
19
Philippe

Swift 4:短いバージョン

UIFont.systemFont(ofSize: 50.0, weight: .regular)
6
Maksim Kniazev

(最新バージョンのPhilippeからの回答に沿って)

  • スイフト4

    UIFont.systemFont(ofSize: 18, weight: UIFont.Weight.light)

4
Vincent

UIFont(Swift)のメソッドを使用するだけです:

let sysFont: UIFont = UIFont.systemFontOfSize(UIFont.systemFontSize())

それが役に立てば幸い!

2
miche.atucha
self.navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName : UIFont.systemFontOfSize(6)]
2
Sujith Chandran

以下のコードを試してください:

self.navigationController!.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name:"Arial", size:14.0)!, NSForegroundColorAttributeName:UIColor.blackColor()]
0
Aditi Agrawal