private void SetDate(NSDate nsDate) { var date = nsDate.ToDateTimeUtc(); var model = (DataContext as SignUpItemDatePickerViewModel); model.Value = string.Format(StringExtentionsMethods.StringDate(date), date); model.SelectedDate = new DateTime(date.Year, date.Month, date.Day); }
protected virtual void SetupDatePickerFor(UIDatePicker datePicker, UITextField textField) { datePicker.Frame = new CGRect(0, 0, DeviceInfo.ScreenWidth, 220); datePicker.BackgroundColor = Theme.ColorPalette.Background.ToUIColor(); datePicker.Mode = UIDatePickerMode.Date; datePicker.TimeZone = NSTimeZone.FromName(@"UTC"); datePicker.Calendar = NSCalendar.CurrentCalendar; datePicker.ValueChanged += (sender, e) => { var picker = sender as UIDatePicker; if (picker != null) { var date = picker.Date.ToDateTimeUTC(); textField.Text = string.Format(StringExtentionsMethods.StringDate(date), date); textField.SendActionForControlEvents(UIControlEvent.ValueChanged); textField.SendActionForControlEvents(UIControlEvent.EditingChanged); } }; var accessoryView = new UIView() .WithFrame(0, 0, DeviceInfo.ScreenWidth, 44) .WithBackground(Theme.ColorPalette.Background.ToUIColor()) .WithSubviews( new UIButton(UIButtonType.Custom) .WithFrame(DeviceInfo.ScreenWidth - 90, 0, 90, 44) .WithTune(tune => { tune.SetupStyle(ThemeConfig.ProductDetails.DetailsCell.MinMax.DoneButton); tune.SetTitle(Mvx.Resolve <ILocalizationService>().GetLocalizableString(ProductsConstants.RESX_NAME, "ProductCard_Done"), UIControlState.Normal); tune.TouchUpInside += (sender, e) => textField.EndEditing(true); }), new UIView().WithFrame(0, 0, DeviceInfo.ScreenWidth, 1).WithBackground(Theme.ColorPalette.Separator.ToUIColor()), new UIView().WithFrame(0, 43, DeviceInfo.ScreenWidth, 1).WithBackground(Theme.ColorPalette.Separator.ToUIColor()) ); textField.InputView = datePicker; textField.InputAccessoryView = accessoryView; }