iOS 上的 TimePicker 项选择

此 iOS 平台特定功能可控制何时在 TimePicker 中进行项选择,允许用户指定在浏览控件中的项时进行项选择,或者仅在按下“完成”按钮时进行项选择。 其使用方式为,在 XAML 中将 TimePicker.UpdateMode 附加属性设置为 UpdateMode 枚举的值:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
       <TimePicker Time="14:00:00"
                   ios:TimePicker.UpdateMode="WhenFinished" />
       ...
    </StackLayout>
</ContentPage>

或者,可以使用 Fluent API 从 C# 使用它:

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

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

TimePicker.On<iOS> 方法指定此平台特定仅在 iOS 上运行。 Xamarin.Forms.PlatformConfiguration.iOSSpecific 命名空间中的 TimePicker.SetUpdateMode 方法用于控制项选择的时间,UpdateMode 枚举提供两个可能的值:

  • Immediately – 当用户浏览 TimePicker 中的项目时进行项选择。 这是 Xamarin.Forms 中的默认行为。
  • WhenFinished – 仅当用户按下 TimePicker 中的“完成”按钮后,才会进行项选择。

此外,SetUpdateMode 方法还可用于通过调用返回当前 UpdateModeUpdateMode 方法切换枚举值:

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

结果是指定的 UpdateMode 应用于 TimePicker,后者控制项选择时间:

TimePicker 更新模式的屏幕截图