IOS 13にアップデートした後、フォントが失敗しました。私のApp.xamlで:
<OnPlatform x:Key="FontFamilyRegular" x:TypeArguments="x:String">
<On Platform="iOS">.SFUIText</On>
</OnPlatform>
<OnPlatform x:Key="FontFamilyMedium" x:TypeArguments="x:String">
<On Platform="iOS">.SFUIText-Medium</On>
</OnPlatform>
<OnPlatform x:Key="FontFamilyBold" x:TypeArguments="x:String">
<On Platform="iOS">.SFUIText-Semibold</On>
</OnPlatform>
デバイスをiOS 13に更新するまでは、すべてうまくいきました。
私はiOSプロジェクトをデバッグし、フォント名が.SFUI-Regular、.SFUI-Semiboldに変更される可能性があることを発見しました-しかし、これらはどちらも機能しません。また、最新のXamarinバージョンに更新してみましたが、うまくいきませんでした。
これらの3つのフォントファミリーを最新のiOSバージョンで使用するにはどうすればよいですか?
このようなシステムフォントは、次のように「ドット」/ .
表記で参照可能になりました。
https://developer.Apple.com/videos/play/wwdc2019/227/
IOS 13以降、regular
、rounded
、serif
またはmonospaced
を使用して、新しい列挙型UIFontDescriptor.SystemDesign
を利用できます。
Swiftの記述子を使用してフォントを作成する方法の例(design
パラメータの使用方法を参照):
extension UIFont {
convenience init?(
style: UIFont.TextStyle,
weight: UIFont.Weight = .regular,
design: UIFontDescriptor.SystemDesign = .default) {
guard let descriptor = UIFontDescriptor.preferredFontDescriptor(withTextStyle: style)
.addingAttributes([UIFontDescriptor.AttributeName.traits: [UIFontDescriptor.TraitKey.weight: weight]])
.withDesign(design) else {
return nil
}
self.init(descriptor: descriptor, size: 0)
}
}