protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.Entry> e) { base.OnElementChanged(e); if (Control == null || BaseElement == null) { return; } var textField = new PaddedTextField(); textField.EditingChanged += OnEditingChanged; textField.EditingDidEnd += OnEditingEnded; textField.ShouldReturn = OnShouldReturn; textField.SecureTextEntry = BaseElement.IsPassword; SetNativeControl(textField); Control.Placeholder = BaseElement.Placeholder; Control.Text = BaseElement.Text; Control.BorderStyle = UITextBorderStyle.None; UpdateBackgroundDrawable(); UpdateMaxLength(); UpdatePadding(); UpdateKeyboard(); }
UITextField CreateEntry() { var entry = new PaddedTextField(); entry.EditingDidBegin += OnStarted; entry.EditingDidEnd += OnEnded; _picker = new UIDatePicker { Mode = UIDatePickerMode.Date, TimeZone = new NSTimeZone("UTC") }; _picker.ValueChanged += HandleValueChanged; var width = UIScreen.MainScreen.Bounds.Width; var toolbar = new UIToolbar(new RectangleF(0, 0, (float)width, 44)) { BarStyle = UIBarStyle.Default, Translucent = true }; var spacer = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace); var doneButton = new UIBarButtonItem(UIBarButtonSystemItem.Done, (o, a) => entry.ResignFirstResponder()); var clearButton = new UIBarButtonItem("Clear", UIBarButtonItemStyle.Done, (sender, e) => { _picker.Date = DateTime.Now.ToNSDate(); BaseElement.Date = DateTime.Now; BaseElement.NullableDate = null; entry.ResignFirstResponder(); }); toolbar.SetItems(new[] { clearButton, spacer, doneButton }, false); entry.InputView = _picker; entry.InputAccessoryView = toolbar; entry.InputView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight; entry.InputAccessoryView.AutoresizingMask = UIViewAutoresizing.FlexibleHeight; _defaultTextColor = entry.TextColor; return(entry); }