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
}







