protected override void Dispose(bool disposing) { _tableView = null; if (disposing) { if (entry != null) { entry.Dispose(); entry = null; } } }
protected override void Dispose (bool disposing) { _tableView = null; if (disposing) { if (entry != null) { entry.Dispose (); entry = null; } } }
public override UITableViewCell GetCell (UITableView tv) { _tableView = tv; var cell = tv.DequeueReusableCell (cellkey); if (cell == null) { cell = new UITableViewCell (UITableViewCellStyle.Default, cellkey); cell.SelectionStyle = UITableViewCellSelectionStyle.None; } else { //RemoveTag (cell, 1); } cell.BackgroundColor = Appearance.BackgroundColorEditable; if (entry == null) { SizeF size = ComputeEntryPosition (tv, cell); float width = cell.ContentView.Bounds.Width; entry = CreateTextField (new RectangleF ( 0, 0, width, size.Height + (height))); entry.Font = Appearance.LabelFont; var toolbar = new UIToolbar(); toolbar.Items = new UIBarButtonItem[] { new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, (e, a)=>{ entry.ResignFirstResponder(); }) }; toolbar.SizeToFit(); entry.InputAccessoryView = toolbar; entry.Font = inputFont; entry.Changed += delegate { FetchValue (); }; entry.Ended += delegate { FetchValue (); if (OnValueChanged!=null) OnValueChanged(this); }; // entry.ShouldReturn += delegate { // // if (ShouldReturn != null) // return ShouldReturn (); // // RootElement root = GetImmediateRootElement (); // EntryElement focus = null; // // if (root == null) // return true; // // foreach (var s in root.Sections) { // foreach (var e in s.Elements) { // if (e == this) { // focus = this; // } else if (focus != null && e is EntryElement) { // focus = e as EntryElement; // break; // } // } // // if (focus != null && focus != this) // break; // } // // if (focus != this) // focus.BecomeFirstResponder (true); // else // focus.ResignFirstResponder (true); // // return true; // }; entry.Started += delegate { entry.ReturnKeyType = UIReturnKeyType.Default; }; } if (becomeResponder) { entry.BecomeFirstResponder (); becomeResponder = false; } entry.KeyboardType = KeyboardType; entry.PlaceholderText = PlaceholderText; entry.AutocapitalizationType = AutocapitalizationType; entry.AutocorrectionType = AutocorrectionType; cell.TextLabel.Text = Caption; cell.ContentView.AddSubview (entry); return cell; }
public override UITableViewCell GetCell(UITableView tv) { _tableView = tv; var cell = tv.DequeueReusableCell(cellkey); if (cell == null) { cell = new UITableViewCell(UITableViewCellStyle.Default, cellkey); cell.SelectionStyle = UITableViewCellSelectionStyle.None; } else { //RemoveTag (cell, 1); } cell.BackgroundColor = Appearance.BackgroundColorEditable; if (entry == null) { SizeF size = ComputeEntryPosition(tv, cell); float width = cell.ContentView.Bounds.Width; entry = CreateTextField(new RectangleF(0, 0, width, size.Height + (height))); entry.Font = Appearance.LabelFont; var toolbar = new UIToolbar(); toolbar.Items = new UIBarButtonItem[] { new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, (e, a) => { entry.ResignFirstResponder(); }) }; toolbar.SizeToFit(); entry.InputAccessoryView = toolbar; entry.Font = inputFont; entry.Changed += delegate { FetchValue(); }; entry.Ended += delegate { FetchValue(); if (OnValueChanged != null) { OnValueChanged(this); } }; // entry.ShouldReturn += delegate { // // if (ShouldReturn != null) // return ShouldReturn (); // // RootElement root = GetImmediateRootElement (); // EntryElement focus = null; // // if (root == null) // return true; // // foreach (var s in root.Sections) { // foreach (var e in s.Elements) { // if (e == this) { // focus = this; // } else if (focus != null && e is EntryElement) { // focus = e as EntryElement; // break; // } // } // // if (focus != null && focus != this) // break; // } // // if (focus != this) // focus.BecomeFirstResponder (true); // else // focus.ResignFirstResponder (true); // // return true; // }; entry.Started += delegate { entry.ReturnKeyType = UIReturnKeyType.Default; }; } if (becomeResponder) { entry.BecomeFirstResponder(); becomeResponder = false; } entry.KeyboardType = KeyboardType; entry.PlaceholderText = PlaceholderText; entry.AutocapitalizationType = AutocapitalizationType; entry.AutocorrectionType = AutocorrectionType; cell.TextLabel.Text = Caption; cell.ContentView.AddSubview(entry); return(cell); }