Seleção de Item do Seletor no iOS

Baixar exemplo Baixar o exemplo

Essa plataforma iOS controla quando a seleção de itens ocorre em um Picker, permitindo que o usuário especifique que a seleção de itens ocorre ao procurar itens no controle ou apenas quando o botão Concluído é pressionado. Ele é consumido em XAML definindo a Picker.UpdateMode propriedade anexada como um valor da UpdateMode enumeração :

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

Como alternativa, ele pode ser consumido do C# usando a API fluente:

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

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

O Picker.On<iOS> método especifica que esse específico da plataforma só será executado no iOS. O Picker.SetUpdateMode método , no Xamarin.Forms.PlatformConfiguration.iOSSpecific namespace , é usado para controlar quando ocorre a seleção de item, com a UpdateMode enumeração fornecendo dois valores possíveis:

  • Immediately – a seleção de itens ocorre à medida que o usuário navega pelos itens no Picker. Esse é o comportamento padrão em Xamarin.Forms.
  • WhenFinished – a seleção de itens ocorre apenas depois que o usuário pressiona o botão Concluído no Picker.

Além disso, o SetUpdateMode método pode ser usado para alternar os valores de enumeração chamando o UpdateMode método , que retorna o atual 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;
}

O resultado é que um especificado UpdateMode é aplicado ao Picker, que controla quando ocorre a seleção de item:

UpdateMode Platform-Specific Platform-Specific