UIFont
には、通常のフォント(systemFontOfSize
)またはボールドフォント(boldSystemFontOfSize
)を取得するメソッドがありますが、ストーリーボードから「シンシステムフォント」を取得するにはどうすればよいですか?
「system-thin」をUIFont
Contructorに渡すことは機能しません。このコンストラクターは非システムフォントに対してのみ機能します。
システムフォントの細い太さを使用できます。
UIFont.systemFont(ofSize: 34, weight: UIFontWeightThin)
サンフランシスコで利用可能なウェイトのリスト:
UIFontWeightUltraLight
UIFontWeightThin
UIFontWeightLight
UIFontWeightRegular
UIFontWeightMedium
UIFontWeightSemibold
UIFontWeightBold
UIFontWeightHeavy
UIFontWeightBlack
iOS 11以降、UIFontWeight*
はUIFont.Weight.*
に名前が変更されました。詳細はこちらをご覧ください https://developer.Apple.com/documentation/uikit/uifont.weight 。
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のデフォルトフォント
また、同じフォントサイズを維持し、単に重量を変更する場合は、対象の要素のフォントサイズから使用します。例えば:
demoLabel.font = UIFont.systemFont(ofSize: demoLabel.font.pointSize, weight: UIFontWeightThin)
これにより、デフォルトのラベルフォントサイズを維持し、重量を変更することができます。
iOS 11以降、UIFontWeightThinはUIFont.Weight.thin
に名前が変更されました。詳細はこちらをご覧ください https://developer.Apple.com/documentation/uikit/uifont.weight 。
Swift 4.2
label.font = UIFont.systemFont(ofSize: 15, weight: UIFont.Weight.thin)