How to use new San Francisco font in iOS 9?
In iOS 9 it is the system font, so you could do:
let font = UIFont.systemFontOfSize(18)
You can use the font name directly, but I don't think this is safe:
let font = UIFont(name: ".SFUIText-Medium", size: 18)!
You can also create the font with specific weight, like so:
let font = UIFont.systemFontOfSize(18, weight: UIFontWeightMedium)
or
let font = UIFont.systemFontOfSize(18, weight: UIFontWeightLight)
Details
- Xcode Version 10.2.1 (10E1001), Swift 5
Solution
import UIKitextension UIFont { enum Font: String { case SFUIText = "SFUIText" case SFUIDisplay = "SFUIDisplay" } private static func name(of weight: UIFont.Weight) -> String? { switch weight { case .ultraLight: return "UltraLight" case .thin: return "Thin" case .light: return "Light" case .regular: return nil case .medium: return "Medium" case .semibold: return "Semibold" case .bold: return "Bold" case .heavy: return "Heavy" case .black: return "Black" default: return nil } } convenience init?(font: Font, weight: UIFont.Weight, size: CGFloat) { var fontName = ".\(font.rawValue)" if let weightName = UIFont.name(of: weight) { fontName += "-\(weightName)" } self.init(name: fontName, size: size) }}
Usage
guard let font = UIFont(font: .SFUIText, weight: .light, size: 14) else { return }// ...let font = UIFont(font: .SFUIDisplay, weight: .bold, size: 17)!