Xamarin.IOS中的FontAwesome图标没有显示出来

时间:2018-04-18 17:16:14

标签: ios xamarin xamarin.ios font-awesome

我已经查看并尝试了前十个如何在谷歌上完成此操作的示例,但没有一个能够正常工作。我只能得到一个FontAwesome图标才能工作,这就是字形五个图标,它仍然无法正常工作。这里有没有人能够让它最近工作,如果没有,是否有任何替代FontAwesome?我真的不想使用图像,因为从iPhone 5到ipad pro时,尺度看起来并不正确。

1 个答案:

答案 0 :(得分:0)

我一直在努力解决这个问题。幸运的是,我终于得到了正确的结果。请遵循以下清单:

  1. 确保您的图标存在于字体文件中。某些图标仅以纯字体显示。在FontAwesome网站上进行检查。另外,您可以尝试将Label的FontAttribute设置为“ Bold”。

  2. 将字体文件放置在Resources文件夹中,例如Resources \ Font Awesome 5 Free-Solid-900.otf。然后将下面的部分添加到info.plist中:

<key>UIAppFonts</key>
              <array>
                <string>Font Awesome 5 Brands-Regular-400.otf</string>
                <string>Font Awesome 5 Free-Regular-400.otf</string>
                <string>Font Awesome 5 Free-Solid-900.otf</string>
              </array>
  1. 确保选择正确的字体名称,而不是文件名。您可以定义如下所示的样式:

    <OnPlatform x:Key="FontAwesomeString" x:TypeArguments="x:String">
    <On Platform="iOS" Value="Font Awesome 5 Free" />
    <On Platform="Android" Value="Font Awesome 5 Free-Solid-900.otf#Font Awesome 5 Free Solid" />
    <On Platform="UWP" Value="Assets/fonts/Font Awesome 5 Free-Solid-900.otf#Font Awesome 5 Free" />
    

        

因此您可以使用如下样式:

<Label Text="{Binding Icon}" FontAttributes="Bold" 
                                   Style="{StaticResource FontAwesome}" />
  1. 如果在XAML中使用它,则应使用它:Text =“”在字体代码前使用&#x。 如果在C#代码中使用它,则使用它,例如:Text =“ \ uf015”;在字体代码前使用\ uf。

  2. 无需“复制到输出目录”。只需将BuildAction设置为BundleResource。

希望这会有所帮助。