private void AddClearButton() { var originalToolbar = this.Control.InputAccessoryView as UIToolbar; if (originalToolbar != null && originalToolbar.Items.Length <= 2) { var clearButton = new UIBarButtonItem("Clear", UIBarButtonItemStyle.Plain, ((sender, ev) => { CustomDatePicker baseDatePicker = this.Element as CustomDatePicker; this.Element.Unfocus(); this.Element.Date = DateTime.Now; baseDatePicker.CleanDate(); })); var newItems = new List <UIBarButtonItem>(); foreach (var item in originalToolbar.Items) { newItems.Add(item); } newItems.Insert(0, clearButton); originalToolbar.Items = newItems.ToArray(); originalToolbar.SetNeedsDisplay(); } }
protected override void OnElementChanged(ElementChangedEventArgs <DatePicker> e) { base.OnElementChanged(e); if (e.NewElement != null && Control != null) { //this.Control.Text = Element.Date.ToString("MM/dd/yy", CultureInfo.InvariantCulture)?.Replace("-", "/"); Control.BorderStyle = UITextBorderStyle.RoundedRect; Control.Layer.BorderColor = UIColor.FromRGB(83, 63, 149).CGColor; Control.Layer.CornerRadius = 20; UIView paddingView = new UIView(new CGRect(0, 0, 10.0f, 20.0f)); Control.LeftView = paddingView; Control.Layer.BorderWidth = 0f; Control.AdjustsFontSizeToFitWidth = true; Control.TextColor = UIColor.FromRGB(83, 63, 149); var customDatePicker = (CustomDatePicker)this.Element; if (!customDatePicker.NullableDate.HasValue) { this.Control.Text = customDatePicker.PlaceHolder; } UITextField entry = Control; UIDatePicker picker = (UIDatePicker)entry.InputView; picker.PreferredDatePickerStyle = UIDatePickerStyle.Wheels; CustomDatePicker baseDatePicker = this.Element as CustomDatePicker; this.Element.Unfocus(); this.Element.Date = DateTime.Now; baseDatePicker.CleanDate(); } }
private void AddButtons() { var originalToolbar = this.Control.InputAccessoryView as UIToolbar; if (originalToolbar != null && originalToolbar.Items.Length <= 2) { CustomDatePicker baseDatePicker = this.Element as CustomDatePicker; var clearButton = new UIBarButtonItem("Remove Date", UIBarButtonItemStyle.Plain, ((sender, ev) => { this.Element.Unfocus(); this.Element.Date = DateTime.Now; baseDatePicker.CleanDate(); })); var cancelButton = new UIBarButtonItem("Cancel", UIBarButtonItemStyle.Plain, ((sender, ev) => { baseDatePicker._originalNullableDate = baseDatePicker.NullableDate; this.Element.Unfocus(); baseDatePicker.Cancel(); })); var newItems = new List <UIBarButtonItem>(); foreach (var item in originalToolbar.Items) { newItems.Add(item); } if (baseDatePicker.ShowClearButton) { newItems.Insert(0, clearButton); newItems.Insert(1, cancelButton); } else { newItems.Insert(0, cancelButton); } originalToolbar.Items = newItems.ToArray(); originalToolbar.SetNeedsDisplay(); } }