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