private UITextField AddTextField(EventedTableViewCell cell, string placeholder, NSIndexPath indexPath, Func <UIResponder> getNextResponder) { var textFieldDelegate = new TextFieldDelegate(_tableView, indexPath, getNextResponder); textFieldDelegate.OnStartedEditing += (sender, args) => { ActiveIndexPath = indexPath; }; var textField = new UITextField(new RectangleF(0, 0, cell.Frame.Width - 110, 18)); textField.AutocapitalizationType = UITextAutocapitalizationType.None; textField.AutocorrectionType = UITextAutocorrectionType.No; textField.Center = new PointF(200, (cell.Frame.Height / 2) + 1); textField.Placeholder = placeholder; textField.Font = UIFont.FromName("Helvetica", 14); textField.ReturnKeyType = UIReturnKeyType.Next; textField.Delegate = textFieldDelegate; cell.AddSubview(textField); cell.OnTouchesEnded += (sender, args) => { ActiveIndexPath = indexPath; OnEditUnit.Fire(this, EventArgs.Empty); }; cell.OnTouchesEnded += (sender, args) => { textField.BecomeFirstResponder(); }; return(textField); }
public override void ViewDidLoad() { base.ViewDidLoad (); TextFieldDelegate textFieldDelegate = new TextFieldDelegate(); systolic.Delegate = textFieldDelegate; diastolic.Delegate = textFieldDelegate; pulsePerMin.Delegate = textFieldDelegate; textFieldDelegate.EditingStartedEvent += HandleTextFieldEditingStartedEvent; Selector saveNewObject = new Selector("saveNewObject"); UIBarButtonItem saveButton = new UIBarButtonItem(UIBarButtonSystemItem.Save, this, saveNewObject) ; if (PressureObject != null) { systolicEnabled = true; diastolicEnabled = true; pulsePerMinEnabled = true; systolic.Text = PressureObject.Systolic.ToString(); diastolic.Text = PressureObject.Diastolic.ToString(); pulsePerMin.Text = PressureObject.PulsePerMin.ToString(); this.Title = PressureObject.TimeStamp.ToString(); saveButton.Enabled = true; } else { systolicEnabled = false; diastolicEnabled = false; diastolicEnabled = false; diastolicEnabled = false; pulsePerMinEnabled = false; this.Title = "New"; saveButton.Enabled = false; } NavigationItem.RightBarButtonItem = saveButton; }
public override void ViewDidLoad() { base.ViewDidLoad(); StyleBackground(BackgroundView); StyleHeader(HeaderView, HeaderLabel); if (SingleLine) { TextField.Text = _Value; TextField.Hidden = false; TextView.Hidden = true; CGRect rect = BackgroundView.Frame; rect.Height -= 220; rect.Y += 100; BackgroundView.Frame = rect; TextField.BecomeFirstResponder(); TextField.ReturnKeyType = UIReturnKeyType.Done; _textFieldDelegate = new TextFieldDelegate(this); TextField.Delegate = _textFieldDelegate; TextField.ClearButtonMode = UITextFieldViewMode.Always; } else { TextView.Text = _Value; TextField.Hidden = true; TextView.Hidden = false; TextView.BecomeFirstResponder(); } StyleButton(OKButton); StyleButton(CancelButton); }
public override void ViewDidLoad() { base.ViewDidLoad(); #region InputValueController lbl_inputController.StringValue = @"Min, Max and Number are binded to InputValueController fields. InputValueController can change " + @"increment field in NSSteper. Min, Max and Increment can be changed dinamicly, you can input " + @"what you want but those NSTextFields accept only integer"; InputController = new InputValueController(tf, (number) => _viewModel.MyProperty = number, () => _viewModel.MyProperty, 0, 200, stp); InputController.Number = _viewModel.MyProperty; #endregion #region Formatter lbl_formatter.StringValue = @"Min, Max and Increment NSTextFields accepts only integer. " + @"NSNumberFormatter created programaticly"; var numberFormatter = new NSNumberFormatter(); numberFormatter.NumberStyle = NSNumberFormatterStyle.None; tf_min.Formatter = numberFormatter; tf_max.Formatter = numberFormatter; tf_increment.Formatter = numberFormatter; #endregion #region Delegate lbl_delegate.StringValue = @"For this NSTextFiled was created my own delegate, " + @"change text or press Esc, Enter key and you will se how it work"; var dlg = new TextFieldDelegate(); dlg.PressedEscKey += (sender, e) => _alertWindow.ShowAlert("Alert", "In NSTextField you pressed Esc key", "OK"); dlg.PressedEnterKey += (sender, e) => _alertWindow.ShowAlert("Alert", "In NSTextField you pressed Enter key", "OK"); dlg.TextChanged += (sender, e) => { var textField = (NSTextField)sender; TfText = textField.StringValue; }; tf_delegate.Delegate = dlg; #endregion }
public void DoDispose() { ExceptionUtility.Try(() => { this.ValidationFunction = null; if (this.TFDelegate != null) { this.TFDelegate.Dispose(); this.TFDelegate = null; } this.Dispose(); }); }