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: