public void PushDialogView(MobileDialogPresentationType presentationType, string viewTitle, UIViewController viewController) { Console.WriteLine("AppDelegate - PushDialogView - presentationType: {0} viewTitle: {1} viewController: {2}", presentationType, viewTitle, viewController.GetType().FullName); InvokeOnMainThread(() => { switch (presentationType) { case MobileDialogPresentationType.Standard: var navCtrl = new SessionsNavigationController(MobileNavigationTabType.More); // TODO: Remove tab type navCtrl.SetTitle(viewTitle); if (UIDevice.CurrentDevice.CheckSystemVersion(7, 0)) navCtrl.NavigationBar.TintColor = UIColor.FromRGBA(0.2f, 0.2f, 0.2f, 1); navCtrl.ModalPresentationStyle = UIModalPresentationStyle.FullScreen; navCtrl.ModalInPopover = true; navCtrl.ModalTransitionStyle = UIModalTransitionStyle.CrossDissolve; navCtrl.ViewDismissedEvent += (sender, e) => { _dialogNavigationControllers.Remove(new KeyValuePair<string, SessionsNavigationController>(viewTitle, navCtrl)); }; navCtrl.PushViewController(viewController, false); _dialogNavigationControllers.Add(new KeyValuePair<string, SessionsNavigationController>(viewTitle, navCtrl)); _mainViewController.PresentViewController(navCtrl, true, null); // TODO: Remove navCtrl from list when dialog is closed. break; default: _mainViewController.AddViewController(viewController, presentationType); break; } }); }
public void AddTab(MobileNavigationTabType type, string title, UIViewController viewController) { InvokeOnMainThread(() => { UITextAttributes attr = new UITextAttributes(); attr.Font = UIFont.FromName("HelveticaNeue", 11); attr.TextColor = UIColor.LightGray; attr.TextShadowColor = UIColor.Clear; UITextAttributes attrSelected = new UITextAttributes(); attrSelected.Font = UIFont.FromName("HelveticaNeue", 11); attrSelected.TextColor = UIColor.White; attrSelected.TextShadowColor = UIColor.Clear; var navCtrl = new SessionsNavigationController(type); navCtrl.SetTitle(title); navCtrl.TabBarItem.SetTitleTextAttributes(attr, UIControlState.Normal); navCtrl.TabBarItem.SetTitleTextAttributes(attrSelected, UIControlState.Selected); navCtrl.TabBarItem.Title = title; if(title.ToUpper() == "MORE") navCtrl.TabBarItem.Image = UIImage.FromBundle("Images/Tabs/more"); else if(title.ToUpper() == "ARTISTS") navCtrl.TabBarItem.Image = UIImage.FromBundle("Images/Tabs/artists"); else if(title.ToUpper() == "ALBUMS") navCtrl.TabBarItem.Image = UIImage.FromBundle("Images/Tabs/albums"); else if(title.ToUpper() == "SONGS") navCtrl.TabBarItem.Image = UIImage.FromBundle("Images/Tabs/songs"); else if(title.ToUpper() == "PLAYLISTS") navCtrl.TabBarItem.Image = UIImage.FromBundle("Images/Tabs/sessions"); navCtrl.PushViewController(viewController, false); _navigationControllers.Add(new KeyValuePair<MobileNavigationTabType, SessionsNavigationController>(type, navCtrl)); var list = new List<UIViewController>(); if (_mainViewController.TabBarController.ViewControllers != null) list = _mainViewController.TabBarController.ViewControllers.ToList(); list.Add(navCtrl); _mainViewController.TabBarController.ViewControllers = list.ToArray(); }); }