public override void ViewDidLoad() { PullToRefresh = false; base.ViewDidLoad(); TableSource = new SharingTableViewSource(); ((SharingTableViewSource)TableSource).ShowsAccessory = Shared.SelectedCard.IsMine(); TableSource.ItemSelected += (arg1, arg2) => { if (Shared.SelectedCard.IsMine()) { var footer = ChildViewControllers.Where(c => c.GetType() == typeof(CardSharingStatusViewController)).FirstOrDefault() as CardSharingStatusViewController; if (footer == null) { return; } if (footer.Sharing) { return; } Shared.OutletSelected(arg2); TableView.ReloadRows(new NSIndexPath[] { arg1 }, UITableViewRowAnimation.Automatic); HeaderView.Update(false); footer.Update(); return; } ApplicationExtensions.OpenApplicationFromOutlet(arg2); }; TableView.Source = TableSource; HeaderView = new CardViewController(); HeaderView.SelectedCard = Shared.SelectedCard; HeaderView.View.Frame = new CGRect(0, 0, TableView.Frame.Width, CardViewController.GetCalculatedHeight()); TableView.TableHeaderView = HeaderView.View; AddChildViewController(HeaderView); HeaderView.DidMoveToParentViewController(this); if (Shared.SelectedCard.IsMine()) { CardSharingStatusViewController footerView = new CardSharingStatusViewController(); footerView.SelectedCard = Shared.SelectedCard; footerView.View.Frame = new CGRect(0, 0, TableView.Frame.Width, footerView.GetHeight()); TableView.TableFooterView = footerView.View; AddChildViewController(footerView); } }
public override void ViewDidLoad() { PullToRefresh = false; base.ViewDidLoad(); TableSource = new NewCardTableViewSource(); TableSource.ItemSelected += (NSIndexPath arg1, NewCardModel arg2) => { if (arg2 == null || String.IsNullOrEmpty(arg2.Title)) { return; } var vc = new ColorPickerViewController(); vc.ModalPresentationStyle = UIModalPresentationStyle.OverFullScreen; vc.ModalTransitionStyle = UIModalTransitionStyle.CrossDissolve; vc.LabelTitle = arg2.Title; vc.StartingColor = ColorUtils.FromHexString(arg2.ColorHexString, UIColor.White); vc.ColorPicked += (UIColor obj) => { if (obj == null && String.IsNullOrEmpty(arg2.Title)) { return; } arg2.ColorHexString = ColorUtils.HexStringFromColor(obj); if (arg2.Title.Equals(NewCardShared.new_card_model_border_color, StringComparison.InvariantCultureIgnoreCase)) { Shared.SelectedCard.UpdateStringProperty(() => Shared.SelectedCard.BorderColor, arg2.ColorHexString); Shared.SelectedCard.ShowFront(); } else if (arg2.Title.Equals(NewCardShared.new_card_model_background_color, StringComparison.InvariantCultureIgnoreCase)) { Shared.SelectedCard.UpdateStringProperty(() => Shared.SelectedCard.BackgroundColor, arg2.ColorHexString); Shared.SelectedCard.ShowBack(); } else if (arg2.Title.Equals(NewCardShared.new_card_model_company_name_text_color, StringComparison.InvariantCultureIgnoreCase)) { Shared.SelectedCard.UpdateStringProperty(() => Shared.SelectedCard.CompanyNameTextColor, arg2.ColorHexString); Shared.SelectedCard.ShowBack(); } HeaderView.Update(false); TableView.ReloadRows(new NSIndexPath[] { arg1 }, UITableViewRowAnimation.Automatic); }; var flyingObjectsContainerViewController = new FlyingObjectsContainterViewController(); var clearNavigationController = flyingObjectsContainerViewController.ContainerNavigationController; clearNavigationController.SetViewControllers(new UIViewController[] { vc }, false); PresentViewController(flyingObjectsContainerViewController, false, null); }; TableSource.RowDeleted += (NSIndexPath arg1, NewCardModel arg2) => { if (arg2.Outlet == null) { return; } Shared.SelectedCard.RemoveOutlet(arg2.Outlet); TableSource.TableItems.Remove(arg2); HeaderView.Update(false); }; TableView.Source = TableSource; HeaderView.Editable = true; HeaderView.SelectedCard = Shared.SelectedCard; HeaderView.View.Frame = new CGRect(0, 0, TableView.Frame.Width, CardViewController.GetCalculatedHeight()); AddChildViewController(HeaderView); TableView.TableHeaderView = HeaderView.View; AddRowViewController FooterView = new AddRowViewController(); FooterView.LabelAddText = NewCardShared.AddNewOutlet; FooterView.Clicked += (editing) => { ShowMyOutletsViewController(); }; FooterView.View.Frame = new CGRect(0, 0, TableView.Frame.Width, FooterView.GetHeight()); TableView.TableFooterView = FooterView.View; AddChildViewController(FooterView); }