public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { // request a recycled cell to save memory UITableViewCell cell = tableView.DequeueReusableCell(cellIdentifier); if (cell == null) { cell = new UITableViewCell(UITableViewCellStyle.Value1, cellIdentifier); } cell.TextLabel.Font = UIFont.SystemFontOfSize(13); if (indexPath.Row == 0) { cell.TextLabel.Text = "Logged in as: \"" + AccountStorage.UserId + "\""; UIButton logoutBtn = new UIButton(UIButtonType.RoundedRect); logoutBtn.Frame = new CGRect(0, 0, 65, 30); logoutBtn.SetTitle("Log Out", UIControlState.Normal); logoutBtn.TouchUpInside += (sender, e) => { UIAlertController actionSheetAlert = UIAlertController.Create(null, "You are going to log out", UIAlertControllerStyle.ActionSheet); actionSheetAlert.AddAction(UIAlertAction.Create("Log Out", UIAlertActionStyle.Destructive, (action) => { AccountStorage.ClearPassword(); AppDelegate del = UIApplication.SharedApplication.Delegate as AppDelegate; del.BindLoginViewController(); })); actionSheetAlert.AddAction(UIAlertAction.Create("Cancel", UIAlertActionStyle.Cancel, null)); UIPopoverPresentationController presentationPopover = actionSheetAlert.PopoverPresentationController; if (presentationPopover != null) { presentationPopover.SourceView = this.owner.View; presentationPopover.PermittedArrowDirections = UIPopoverArrowDirection.Up; } this.owner.PresentViewController(actionSheetAlert, true, null); }; cell.AccessoryView = logoutBtn; } else if (indexPath.Row == 1) { cell.TextLabel.Text = "Connect only over WiFi"; UISwitch wifiSwitch = new UISwitch(new CGRect(0, 0, 80, 20)); wifiSwitch.On = SettingsData.WiFiOnly; wifiSwitch.ValueChanged += (sender, e) => { SettingsData.WiFiOnly = wifiSwitch.On; }; cell.AccessoryView = wifiSwitch; } else if (indexPath.Row == 2) { cell.TextLabel.Text = "Max continuous interrupt time"; InterruptTimeText = new UITextField(new CGRect(0, 400, 150, 30)); cell.AccessoryView = InterruptTimeText; InterruptTimeText.TextColor = UIColor.LightGray; InterruptTimeText.TextAlignment = UITextAlignment.Right; newInterruptTimePicker(); } else if (indexPath.Row == 3) { cell.TextLabel.Text = "Forgotten timer threshold"; ForgottenTimerText = new UITextField(new CGRect(0, 500, 150, 30)); cell.AccessoryView = ForgottenTimerText; ForgottenTimerText.TextColor = UIColor.LightGray; ForgottenTimerText.TextAlignment = UITextAlignment.Right; newForgottenTimePicker(); } return(cell); }