我有一个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()
其中之一比直接输入字符串值要好得多😊