Swift UIFontからWeightを取得してみる
どうやって取得出来る?
UIFontから取得するメソッドはない。(私が気づいていない可能性もありますが)
色々な値を出力してみた。
UIFont.fontDescriptor.fontAttributes[.textStyle]で取得できそうなことが分かった。
文字列が取得出来る。
Exampleコード
func fontToWeight(font: UIFont) -> Int { var result: Int = 0 if let weightName = font.fontDescriptor.fontAttributes[.textStyle] as? String { switch weightName { case "CTFontUltraLightUsage": result = 0 case "CTFontThinUsage": result = 1 case "CTFontLightUsage": result = 2 case "CTFontRegularUsage": result = 3 case "CTFontMediumUsage": result = 4 case "CTFontDemiUsage": result = 5 case "CTFontBoldUsage": result = 6 case "CTFontHeavyUsage": result = 7 case "CTFontBlackUsage": result = 8 default: result = 0 } } return result }