Xamarin iOS UIDatePicker минимальная и максимальная даты - PullRequest
0 голосов
/ 28 октября 2019

Мой стек состоит из Xamarin iOS и MVVMCross. Для выбора даты я использую этот пакет:

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

Я попытался объявить минимальные и максимальные даты, подобные этой (используя WithKind, полученный из MvvmCross.Platforms.Ios):

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

Но ничего не работает. У меня больше нет идей. Я был бы очень благодарен за любую помощь в этом! Большое спасибо!

1 Ответ

0 голосов
/ 28 октября 2019

Порядок параметров 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);
...