概括
我有我在 SkiaSharp 画布上绘制的文本,该画布不会自动调整为 iOS 中的较大可访问性大小设置。我想在绘制时根据用户的设置缩放字体,但我不知道如何将 UIContentSizeCategory 转换为数值。有没有办法将 UIContentSizeCategory 值转换为数值?
细节
用户可以通过转到设置->显示和文本大小->更大的文本-> 启用更大的辅助功能大小并将滑块向右拖动来更改其 iPhone 上的字体比例。
与此滑块匹配的值可按如下方式获得(在 Xamarin C# 中)
string sizeCategoryAsString =
UIKit.UIApplication.SharedApplication.PreferredContentSizeCategory;
var sizeCategoryAsEnum =
UIContentSizeCategoryExtensions.GetValue(UIApplication.SharedApplication.PreferredContentSizeCategory);
不幸的是,我看不到将这个枚举值转换为比例值的方法,例如1.5
.
我想要一个数值来在单独的渲染系统中乘以我的文本渲染(在这种情况下是 SkiaSharp,但它可以是其他任何东西,比如游戏)。我还需要调整 SkiaSharp 中的布局以适应更大的字体。
我知道这可以在 Xamarin Android 上使用以下代码:
var globalFontScale = Resources.Configuration.FontScale;
Xamarin iOS 中是否有同等价值?