Eingabeschriftgrad unter iOS

Diese plattformspezifische iOS-Plattform wird verwendet, um den Schriftgrad eines Entry Steuerelements zu skalieren, um sicherzustellen, dass der eingegebene Text in das Steuerelement passt. Sie wird in XAML genutzt, indem die Entry.AdjustsFontSizeToFitWidth-angefügte Eigenschaft auf einen boolean-Wert festgelegt wird:

<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>

Alternativ kann sie mit der Fluent-API von C# genutzt werden:

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

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

Die Entry.On<iOS>-Methode gibt an, dass diese plattformspezifische Eigenschaft nur unter iOS ausgeführt wird. Die Entry.EnableAdjustsFontSizeToFitWidth-Methode im Xamarin.Forms.PlatformConfiguration.iOSSpecific-Namespace wird verwendet, um die Schriftgröße des eingegebenen Textes so zu skalieren, dass er in das Entry-Feld passt. Darüber hinaus verfügt die Klasse Entry im Xamarin.Forms.PlatformConfiguration.iOSSpecific-Namespace über eine DisableAdjustsFontSizeToFitWidth-Methode, die diese plattformspezifische Methode deaktiviert, und eine SetAdjustsFontSizeToFitWidth-Methode, mit der die Skalierung der Schriftgröße durch Aufruf der AdjustsFontSizeToFitWidth-Methode umgeschaltet werden kann:

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

Das Ergebnis ist, dass der Schriftgrad des Entry-Steuerelements skaliert wird, um sicherzustellen, dass der eingegebene Text in das Steuerelement passt:

Plattformspezifisches Anpassen des Schriftgrads für den Eintrag