private UITableViewCell GetSegmentControlCell(UITableView tableView, EntityTableViewModel model) { var cell = tableView.DequeueReusableCell("SegmentControlCell") as EntitySegmentControlCell; cell.Label.Text = model.Label; var segmentModel = model.Value as SegmentControlModel; cell.SegmentControl.RemoveAllSegments(); int i = 0; foreach (var segment in segmentModel.Model) { cell.SegmentControl.InsertSegment(segment, i++, false); } cell.SegmentControl.SelectedSegment = segmentModel.Selected; cell.SegmentControl.ValueChanged += (sender, e) => { segmentModel.Selected = Convert.ToInt32(((UISegmentedControl)sender).SelectedSegment); }; return(cell); }
private UITableViewCell GetLabelCell(UITableView tableView, EntityTableViewModel model) { var cell = tableView.DequeueReusableCell("LabelCell") as EntityLabelCell; cell.Label.Text = model.Label; cell.LabelChoosed.Text = model.Value as string; return(cell); }
private UITableViewCell GetTextFieldCell(UITableView tableView, EntityTableViewModel model) { var cell = tableView.DequeueReusableCell("TextFieldCell") as EntityTextFieldCell; cell.Label.Text = model.Label; cell.TextField.Text = model.Value as string; cell.TextField.AddTarget((sender, e) => { model.Value = ((UITextField)sender).Text; }, UIControlEvent.EditingChanged); return(cell); }
private UITableViewCell GetPickerCell(UITableView tableView, EntityTableViewModel model) { var cell = tableView.DequeueReusableCell("PickerViewCell") as EntityPickerViewCell; var pickerModel = model.Value as UIFloorballPickerViewModel; pickerModel.SelectionChanged += PickerModel_SelectionChanged; cell.PickerView.Model = pickerModel; cell.PickerView.Hidden = true; cell.PickerView.TranslatesAutoresizingMaskIntoConstraints = false; return(cell); }
private UITableViewCell GetDatePickerCell(UITableView tableView, EntityTableViewModel model) { var cell = tableView.DequeueReusableCell("DatePickerCell") as EntityDatePickerCell; cell.DatePicker.Hidden = true; cell.DatePicker.TranslatesAutoresizingMaskIntoConstraints = false; cell.DatePicker.ValueChanged += (sender, e) => { EntityPresenter.Model[0][SelectedRow].Value = iOSHelper.NSDateToDateTime((sender as UIDatePicker).Date).Date.ToString("yyyy-MM-dd"); TableView.ReloadRows(new NSIndexPath[] { NSIndexPath.FromRowSection(SelectedRow, 0) }, UITableViewRowAnimation.None); }; return(cell); }
void ChangePickerVisibility(UIView view, bool isVisible, UIView view2 = null, EntityTableViewModel model = null) { TableView.BeginUpdates(); TableView.EndUpdates(); if (isVisible) { view.Alpha = 0.0f; } UIView.Animate(0.25, () => { view.Alpha = (isVisible ? 1.0f : 0.0f); }, () => { view.Hidden = !isVisible; if (view2 != null) { model.IsVisible = !model.IsVisible; ChangePickerVisibility(view2, model.IsVisible); } }); }
bool ChangePreviousVisibility(UITableView tableView, int previouslySelectedRow, UIView selectedCell, EntityTableViewModel selectedModel) { if (previouslySelectedRow != -1 && previouslySelectedRow != SelectedRow) { previouslySelectedRow++; var previousModel = EntityPresenter.Model[0][previouslySelectedRow]; previousModel.IsVisible = false; if (previousModel.CellType == TableViewCellType.Picker) { var cell = tableView.CellAt(NSIndexPath.FromRowSection(previouslySelectedRow, 0)) as EntityPickerViewCell; ChangePickerVisibility(cell.PickerView, previousModel.IsVisible, selectedCell, selectedModel); return(true); } else if (previousModel.CellType == TableViewCellType.DatePicker || previousModel.CellType == TableViewCellType.TimePicker || previousModel.CellType == TableViewCellType.DateAndTimePicker) { var cell = tableView.CellAt(NSIndexPath.FromRowSection(previouslySelectedRow, 0)) as EntityDatePickerCell; ChangePickerVisibility(cell.DatePicker, previousModel.IsVisible, selectedCell, selectedModel); return(true); } } return(false); }