Example #1
0
        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);
        }