我正在尝试将字体设置为我的系统并在我的应用程序中使用它它适用于Android但它不适用于IOS - 首先我在IOS项目的资源中添加了.ttf文件
然后将此字体添加到Entitlements.plist
对于Android,我添加到资产文件夹
然后主应用程序中的应用程序文件我在字典资源中添加了此代码
<Style x:Key="LableStyle" TargetType="Label" >
<Setter Property="Label.FontFamily">
<Setter.Value>
<OnPlatform x:TypeArguments="x:String">
<OnPlatform.Android>
DroidSansArabic.ttf#DroidSansArabic
</OnPlatform.Android>
<OnPlatform.iOS>
DroidSansArabic
</OnPlatform.iOS>
</OnPlatform>
</Setter.Value>
</Setter>
</Style>
对于标签我添加了这样的风格
<Label HorizontalOptions="StartAndExpand"
Margin="20,5,0,0"
x:Name="lblForgotPassword"
Text="Forgot Password"
Style="{StaticResource LableStyle}">
</Label>
但它在Android中运行良好,但在IOS中无效?为什么?
答案 0 :(得分:2)
我认为iOS上的字体系列名称不正确。 macOS / iOS字体名称不是文件名sans扩展名,名称是在ttf
本身内定义的。
我的macOS上的DroidSansArabic.ttf
和我在iOS上使用的B Tabassom
使用的姓氏为 label.FontFamily = Device.OnPlatform(
iOS: "B Tabassom",
Android: "DroidSansArabic.ttf#DroidSansArabic",
WinPhone: null
);
因此在Forms中使用它将是:
ttf
由于周围有许多DroidSansArabic.ttf,请通过在macOS的Font Book中打开UIAppFonts
并查看标题栏来验证您的字体系列名称:
如果您的macOS已安装,请查看名称列:
更新:您还错误.plist
中的Info.plist
密钥,它位于<key>UIAppFonts</key>
<array>
<string>DroidSansArabic.ttf</string>
</array>
</dict>
:
app.UseCors(b => b.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin().AllowCredentials());