Tamanho da fonte de entrada no iOS

Baixar exemplo Baixar o exemplo

Essa plataforma específica do iOS é usada para dimensionar o tamanho da fonte de um Entry para garantir que o texto inserido se encaixe no controle. Ele é consumido em XAML definindo a Entry.AdjustsFontSizeToFitWidth propriedade anexada como um boolean valor:

<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, ele pode ser consumido do C# usando a API fluente:

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

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

O Entry.On<iOS> método especifica que essa plataforma específica só será executada no iOS. O Entry.EnableAdjustsFontSizeToFitWidth método, no Xamarin.Forms.PlatformConfiguration.iOSSpecific namespace, é usado para dimensionar o tamanho da fonte do texto inserido para garantir que ele se encaixe no Entry. Além disso, a Entry classe no Xamarin.Forms.PlatformConfiguration.iOSSpecific namespace também tem um DisableAdjustsFontSizeToFitWidth método que desabilita essa plataforma específica e um SetAdjustsFontSizeToFitWidth método que pode ser usado para alternar o dimensionamento de tamanho da fonte chamando o AdjustsFontSizeToFitWidth método :

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

O resultado é que o tamanho da fonte do Entry é dimensionado para garantir que o texto inserido se encaixe no controle:

Ajustar o tamanho da fonte de entrada específico da plataforma