コード例 #1
0
        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);
        }
コード例 #2
0
        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;
        }