Text()
のフォント指定にUIFontが使えなかった。どうしたらよいのか?
実行環境
- Xcode 11.6
- iOS 13.6
問題の挙動
UIFont.futuraMediumFont(ofSize:)
のようにカスタムフォントを使いやすくするユーティリティクラスを作成している。
import UIKit extension UIFont { static func futuraMediumFont(ofSize size: CGFloat) -> UIFont { return UIFont(name: "Futura-Medium", size: size) ?? UIFont.systemFont(ofSize: size, weight: .medium) } }
このフォントを下記のようにTextのフォント指定に使いたかったがビルドエラーが発生する。
Text(R.string.localizable.home_title()).font(UIFont.futuraMediumFont(ofSize: 22)
解決編
SwiftUIでは UIFontは使えないので、かわりに Fontクラスを使う。
import SwiftUI extension Font { static func futuraMedium(size: CGFloat) -> Font { return Font.custom("Futura-Medium", size: size) } }