首页 > 解决方案 > Xamarin iOS UIDatePicker 最小和最大日期

问题描述

我的堆栈由 Xamarin iOS 和 MVVMCross 组成。对于 datepicker,我使用这个包:

https://github.com/alexsorokoletov/Xamarin.iOS.DatePickerDialog

我想使用最小和最大日期,但它不起作用。我尝试如下调用对话框显示方法:

var startingTime = DateTime.Now;
DateTime min = DateTime.Now.AddDays(-10);
DateTime max = DateTime.Now.AddDays(10);

var dialog = new DT.iOS.DatePickerDialog.DatePickerDialog();

dialog.Show("Choose time", "Done", "Cancel", UIDatePickerMode.Date, (dt) =>
{
   string selectedDate = dt.ToString();
}, startingTime, minimumDate, maximumDate);

我试图像这样声明最小和最大日期(使用来自 MvvmCross.Platforms.Ios 的 WithKind):

var minimumDate = new DateTime(2019, 10, 1).WithKind(DateTimeKind.Local);
var maximumDate = new DateTime(2019, 11, 1).WithKind(DateTimeKind.Local);

但似乎没有任何效果。我没有更多的想法了。对于这方面的任何帮助,我将不胜感激!多谢!

标签: xamarin.iosmvvmcrossuidatepicker

解决方案


min我认为参数的顺序max应该是相反的。所以第一个max和第二个min

var startingTime = DateTime.Now;
DateTime min = DateTime.Now.AddDays(-10);
DateTime max = DateTime.Now.AddDays(10);

var dialog = new DT.iOS.DatePickerDialog.DatePickerDialog();

dialog.Show("Choose time", "Done", "Cancel", UIDatePickerMode.Date, (dt) =>
{
   string selectedDate = dt.ToString();
}, startingTime, max, min);

推荐阅读