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.
Primero agregué los impresionantes archivos .ttf de la fuente a la carpeta de Activos de Android y la carpeta de Recursos de iOS:
A continuación, actualicé el archivo Info.plist para iOS para incluir los archivos .ttf de Font Awesome:
Luego configuré el uso de los íconos Font Awesome en App.xaml:
Finalmente agregué los íconos necesarios a sus pestañas:
2 respuestas
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'.
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
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}");
}
}
Preguntas vinculadas
Nuevas preguntas
android
Android es el sistema operativo móvil de Google, que se utiliza para programar o desarrollar dispositivos digitales (teléfonos inteligentes, tabletas, automóviles, televisores, ropa, vidrio, IoT). Para temas relacionados con Android, use etiquetas específicas de Android, tales como intención de Android, actividad de Android, adaptador de Android, etc. Para preguntas que no sean de desarrollo o programación, pero relacionadas con el marco de Android, use este enlace: https: // android.stackexchange.com.