web-dev-qa-db-ja.com

UIFont-システムの薄いフォントを取得する方法

UIFontには、通常のフォント(systemFontOfSize)またはボールドフォント(boldSystemFontOfSize)を取得するメソッドがありますが、ストーリーボードから「シンシステムフォント」を取得するにはどうすればよいですか?

「system-thin」をUIFont Contructorに渡すことは機能しません。このコンストラクターは非システムフォントに対してのみ機能します。

93
ByteArtisan

システムフォントの細い太さを使用できます。

UIFont.systemFont(ofSize: 34, weight: UIFontWeightThin)

サンフランシスコで利用可能なウェイトのリスト:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
UIFontWeightBlack

san francisco font weights

iOS 11以降、UIFontWeight*UIFont.Weight.*に名前が変更されました。詳細はこちらをご覧ください https://developer.Apple.com/documentation/uikit/uifont.weight

252
s1ddok

iOS 8.2の時点UIFont.systemFontOfSize(_ fontSize: CGFloat, weight weight: CGFloat)を使用できるようになりました:

UIFont.systemFontOfSize(19, weight: UIFontWeightLight)

iOS SDKは重みの定数を提供しました:

UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy

IOSはiOSでシステムフォントを変更できるため(たとえば、iOS 7でHelvetica Neueを使用したとき、iOS 9でSan Franciscoを使用したときなど)、システムフォントを使用する場合は、フォント名に基づいてフォントを作成するよりもシステムフォントを使用する方が優れています。

だから、そのttfファイルをカスタムフォントとして使用するために必要なフォントのTTFファイルを含め、アプリでカスタムフォントを使用することをお勧めします。

これがAppleが好きではない特別な理由です。Nevergo what Apple いう。常に望みどおりに実行します。Appleは変更し続けますすべてのOSのデフォルトフォント

31
Fahim Parkar

また、同じフォントサイズを維持し、単に重量を変更する場合は、対象の要素のフォントサイズから使用します。例えば:

demoLabel.font = UIFont.systemFont(ofSize: demoLabel.font.pointSize, weight: UIFontWeightThin)

これにより、デフォルトのラベルフォントサイズを維持し、重量を変更することができます。

iOS 11以降、UIFontWeightThinはUIFont.Weight.thinに名前が変更されました。詳細はこちらをご覧ください https://developer.Apple.com/documentation/uikit/uifont.weight

7
GrandFelix

Swift 4.2

 label.font = UIFont.systemFont(ofSize: 15, weight: UIFont.Weight.thin)
2
Pranit