Ответ: нет, но если вам скучно об именах системы типа шрифта, вы можете обернуть в простой функции:
func CTFontCreateSystemFontWithSize(size: CGFloat) -> CTFontRef {
return CTFontCreateWithName(UIFont.systemFontOfSize(1).fontName, size, nil)
}
Для пользовательских шрифтов, я хотел бы перечислить семейство шрифтов, как это:
enum MyFontFamily: String {
case Thin = "MyFont-Thin"
case Light = "MyFont-Light"
case Medium = "MyFont-Medium"
case Bold = "MyFont-Bold"
func font (size: CGFloat) -> UIFont? {
return UIFont(name: self.rawValue, size: size)
}
func CTFont (size: CGFloat) -> CTFontRef {
return CTFontCreateWithName(self.rawValue, size, nil)
}
}
использование очень просто
textLayer.font = MyFontFamily.Medium.CTFont(18.0)
Это полезно, чтобы все было напечатано строго, поэтому вы получите бесплатную автозаполнение и избегаете опечаток.
Используйте 'CTFontCreateUIFontForLanguage' и установите' CTFontUIFontType' в 'System'? – juniperi