Estoy tratando de agregar íconos increíbles de fuentes a las pestañas de mi página con pestañas. He seguido lo que creo que son los pasos correctos para poder configurar íconos increíbles de fuente de visualización para aplicaciones Xamarin.forms, pero por alguna razón los íconos se muestran para la aplicación de Android pero no para la aplicación de iOS.

enter image description here enter image description here

Primero agregué los impresionantes archivos .ttf de la fuente a la carpeta de Activos de Android y la carpeta de Recursos de iOS:

Android iOS

A continuación, actualicé el archivo Info.plist para iOS para incluir los archivos .ttf de Font Awesome:

enter image description here

Luego configuré el uso de los íconos Font Awesome en App.xaml:

enter image description here

Finalmente agregué los íconos necesarios a sus pestañas:

enter image description here

0
aqwright31 22 ago. 2020 a las 06:23

2 respuestas

La mejor respuesta

En iOS, utilice el nombre de fuente "Real" en lugar del nombre de archivo.

Puede verificar esto haciendo clic derecho en font file -> Properties -> Details -> Title en las ventanas. Por ejemplo, pruebo un archivo de fuente personalizado cuyo nombre de archivo es Font Awesome 5 Free-Solid-900.otf. No funciona si establece el valor en el nombre del archivo:

<OnPlatform x:TypeArguments="x:String" x:Key="FontAwesomeSolid">
    ...
    <On Platform="iOS" Value="Font Awesome 5 Free-Solid-900" />
</OnPlatform>

Intente obtener el título del archivo de fuente personalizada y elimine el 'espacio'.

enter image description here

Especifique el valor como se muestra a continuación:

<OnPlatform x:TypeArguments="x:String" x:Key="FontAwesomeSolid">
    <On Platform="iOS" Value="FontAwesome5Free-Solid" />
</OnPlatform>

Consulte: Font Awesome no funciona en iOS

0
Jack Hua - MSFT 24 ago. 2020 a las 09:20

Reemplace sus valores de iOS en App.xaml.

<OnPlatform x:TypeArguments="x:String" 
                x:Key="FontAwesomeBrands">
                <On Platform="iOS"
                Value="FontAwesome5Brands-Regular" />
            </OnPlatform>

            <OnPlatform x:TypeArguments="x:String" 
                x:Key="FontAwesomeSolid">
                <On Platform="iOS" 
                Value="FontAwesome5Free-Solid" />
            </OnPlatform>

            <OnPlatform x:TypeArguments="x:String" 
                x:Key="FontAwesomeRegular">
                <On Platform="iOS" 
                Value="FontAwesome5Free-Regular" />
            </OnPlatform>

Para obtener el Nombre de fuente correcto para usar en iOS, use el siguiente código en AppDelegate en FinishedLaunching.

foreach (var family in UIFont.FamilyNames)
            {
                System.Diagnostics.Debug.WriteLine($"{family}");
                foreach (var names in UIFont.FontNamesForFamilyName(family))
                {
                    System.Diagnostics.Debug.WriteLine($"{names}");
                }
            }
0
Muhammad Adeel Shoukat 22 ago. 2020 a las 14:53
63532263