我有一个Xamarin.IOs项目。我需要在应用程序中使用动态字体。

我遵循了this tutorial的做法。我猜这个教程很快。对于代码段,

label.Font = UIFontMetrics(forTextStyle: .title1).ScaledFont(for: customFont)

在本教程中,等效的Xamarin.IOs C#代码是,
label.Font = UIFontMetrics.GetMetrics(textStyle: <string_value>).GetScaledFont(customFont);

但是,我可以为<string_value>textStyle使用哪些值?

我努力了,
  • "title 1"
  • "title1"
  • ".title1"
  • ".title 1"
  • "UIFontTextStyleTitle1"
  • "PreferredTitle1"

  • 但没有帮助。
    UIFontMetrics.GetMetrics()接受什么字符串值?

    最佳答案

    有两种方法可以做到这一点,

    方法1:

    UIFontMetrics.GetMetrics(UIFontDescriptor.PreferredTitle1.TextStyle).GetScaledFont(customFont);
    

    可以从TextStyle文本样式属性的UIFontDescriptor属性获取文本样式的字符串值,
    UIFontDescriptor.PreferredTitle1.TextStyle
    

    方式2:
    UIFontMetrics.GetMetrics(UIFontTextStyle.Title1.GetConstant()).GetScaledFont(customFont);
    

    可以从GetConstant()文本样式属性的UIFontTextStyle扩展方法获取文本样式的字符串值,
    UIFontTextStyle.Title1.GetConstant()
    

    其中之一比直接输入字符串值要好得多😊

    10-08 02:54