public override void Selected(DialogViewController dvc, UITableView tableView, NSIndexPath path) { base.Selected (dvc, tableView, path); activeCell = cell; UIView view = null; switch (pickerType) { case PickerType.Custom: datePickerView.RemoveFromSuperview(); pickerView.Model = pickerData; for (int i = 0; i < selectedRows.Length; i++) pickerView.Select(selectedRows[i], i, false); view = pickerView; break; case PickerType.Date: pickerView.RemoveFromSuperview(); datePickerView.Mode = dateMode; datePickerView.Date = dateTime; view = datePickerView; break; } if (doneButton == null) { doneButton = new UIBarButtonItem("Done", UIBarButtonItemStyle.Done, delegate { view.RemoveFromSuperview(); toolBar.RemoveFromSuperview(); if (tableView != null) tableView.ReloadData(); if (Dismissed != null) Dismissed(); }); } toolBar.Items = new UIBarButtonItem[] { new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace, null), doneButton }; if (view.Superview == null) dvc.Add(view); if (toolBar.Superview == null) dvc.Add(toolBar); tableView.ContentSize = new SizeF(tableView.Frame.Width, tableView.Frame.Height + pickerView.Frame.Height + toolBar.Frame.Height); tableView.SetContentOffset(new PointF(0, cell.Frame.Y - 33), true); }