Výběr položky v iOSu

Download Sample Stažení ukázky

Tento ovládací prvek specifické pro platformu pro iOS, když dojde k výběru položky v určitém objektu Picker, umožňuje uživateli určit, že se výběr položky vyskytuje při procházení položek v ovládacím prvku nebo pouze po stisknutí tlačítka Hotovo . Využívá se v XAML nastavením Picker.UpdateMode připojené vlastnosti k hodnotě výčtu UpdateMode :

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout Margin="20">
        <Picker ... Title="Select a monkey" ios:Picker.UpdateMode="WhenFinished">
          ...
        </Picker>
        ...
    </StackLayout>
</ContentPage>

Alternativně se dá využívat z jazyka C# pomocí fluentového rozhraní API:

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

picker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);

Metoda Picker.On<iOS> určuje, že tato platforma bude běžet pouze v iOSu. Metoda Picker.SetUpdateMode v Xamarin.Forms.PlatformConfiguration.iOSSpecific oboru názvů se používá k řízení, kdy dojde k výběru položky, s výčtem UpdateMode , který poskytuje dvě možné hodnoty:

  • Immediately – výběr položky nastane, když uživatel prochází položky v souboru Picker. Toto je výchozí chování v Xamarin.Forms.
  • WhenFinished – výběr položky nastane pouze po stisknutí tlačítka Hotovo v sadě Picker.

Kromě toho lze metodu SetUpdateMode použít k přepnutí hodnot výčtu UpdateMode voláním metody, která vrátí aktuální UpdateMode:

switch (picker.On<iOS>().UpdateMode())
{
    case UpdateMode.Immediately:
        picker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);
        break;
    case UpdateMode.WhenFinished:
        picker.On<iOS>().SetUpdateMode(UpdateMode.Immediately);
        break;
}

Výsledkem je, že zadaný UpdateMode objekt se použije na , který určuje, kdy dojde k Pickervýběru položky:

Picker UpdateMode Platform-Specific