Compartir vía


Tamaño de la fuente de entrada en iOS

Esta característica específica de la plataforma iOS se usa para escalar el tamaño de fuente de un elemento Entry para asegurarse de que el texto de entrada se ajuste al control. Se consume en XAML configurando la propiedad adjunta Entry.AdjustsFontSizeToFitWidth en un valor boolean:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
    <StackLayout Margin="20">
        <Entry x:Name="entry"
               Placeholder="Enter text here to see the font size change"
               FontSize="22"
               ios:Entry.AdjustsFontSizeToFitWidth="true" />
        ...
    </StackLayout>
</ContentPage>

Como alternativa, se puede consumir desde C# mediante la API fluida:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

entry.On<iOS>().EnableAdjustsFontSizeToFitWidth();

El método Entry.On<iOS> especifica que esta plataforma específica solo se ejecutará en iOS. El método Entry.EnableAdjustsFontSizeToFitWidth, en el espacio de nombres Xamarin.Forms.PlatformConfiguration.iOSSpecific, se usa para escalar el tamaño de la fuente del texto introducido para garantizar que encaja en el Entry. Además, la clase Entry en el espacio de nombres Xamarin.Forms.PlatformConfiguration.iOSSpecific también tiene un método DisableAdjustsFontSizeToFitWidth que deshabilita este específico de la plataforma, y un método SetAdjustsFontSizeToFitWidth que se puede usar para alternar el escalado del tamaño de la fuente llamando al método AdjustsFontSizeToFitWidth:

entry.On<iOS>().SetAdjustsFontSizeToFitWidth(!entry.On<iOS>().AdjustsFontSizeToFitWidth());

El resultado es que el tamaño de la fuente del Entry se escala para garantizar que el texto introducido se ajuste al control:

Ajuste del tamaño de la fuente de entrada según la plataforma