public override void ViewDidLoad() { base.ViewDidLoad(); MenuTableViewSource menuTableViewSource = new MenuTableViewSource(); menuTableView.Source = menuTableViewSource; menuTableViewSource.MenuSelected += MenuSelected; InitializeView(); menuTableView.Hidden = true; shadowView.Hidden = true; this.navigationBar.TitleTextAttributes = new UIStringAttributes() { ForegroundColor = UIColor.White }; IMainScreenContainable iViewController = (IMainScreenContainable)containerViewController; this.navigationItem.Title = iViewController.NavigationTitle; //Have no idea why the standard NavigationItem poperty of the ViewController doesnt relate to the navigation bar //// Move this block to the Launch screen - Moved to app delegate //IoCManager.UnityContainer.RegisterType<IDataAccess, RealmDataAccess>(); //IoCManager.UnityContainer.RegisterType<IDataLoader, EmbeddedResourceDataLoader>(); //IoCManager.UnityContainer.RegisterType<IImageDimension, IosImageDimensions> (); //DbManager.UpdateDatabase (); //// End of block }
//actions based on the menu item selection void MenuSelected(NSIndexPath menuItemIndexPath) { if ( !containerViewController.GetType() .Name.Equals(Constants.menuItemsViewControllers[menuItemIndexPath.Row])) { //remove the current ViewController from the container view containerViewController.WillMoveToParentViewController(null); containerViewController.View.RemoveFromSuperview(); containerViewController.RemoveFromParentViewController(); //add new ViewController to the container view UIStoryboard mainStoryboard = UIStoryboard.FromName("Main", NSBundle.MainBundle); UIViewController viewController = mainStoryboard.InstantiateViewController(Constants.menuItemsViewControllers[menuItemIndexPath.Row]); viewController.WillMoveToParentViewController(this); this.containerView.AddSubview(viewController.View); this.AddChildViewController(viewController); viewController.DidMoveToParentViewController(this); IMainScreenContainable iViewController = (IMainScreenContainable)viewController; this.navigationItem.Title = iViewController.NavigationTitle; containerViewController = viewController; } SwipeRightToLeft(); }