I have an application (Xamarin.IOS) which start with a UIViewController (Connection view) with no TabBar. But when user Logged, I'd like to add the tabbar that I've created to other views. And vis-versa, when user logged out, I'd like to display the connection view without TabBar.
I know that when I want to display the TabBar, in appDelegate, I have to initialize _window like this :
_tabController = new TabController();
_window.RootViewController = _tabController;
_window.MakeKeyAndVisible();
and if I want to have a view without TabBar, here is appDelegate:
viewController = new ConnectionViewController();
_window.RootViewController = new UINavigationController(viewController);
_window.MakeKeyAndVisible();
with this TabController :
public class TabController : UITabBarController
{
UIViewController tab1, tab2, tab3, tab4;
public TabController()
{
tab1 = new UINavigationController(new ListViewController());
tab1.Title = Texts.Home;
tab1.TabBarItem.Image = UIImage.FromFile("Icons/Home@2x.png");
tab2 = new UINavigationController(new OViewController(1));
tab2.Title = Texts.Categories;
tab2.TabBarItem.Image = UIImage.FromFile("Icons/Tag@2x.png");
tab3 = new UINavigationController(new SearchViewController());
tab3.Title = Texts.Search;
tab3.TabBarItem.Image = UIImage.FromFile("Icons/Search@2x.png");
tab4 = new UINavigationController(new BookmarkViewController(1));
tab4.Title = Texts.Bookmarks;
tab4.TabBarItem.Image = UIImage.FromFile("Icons/Favorite@2x.png");
var tabs = new UIViewController[] {
tab1, tab2, tab3, tab4
};
this.TabBar.BackgroundColor = UIColor.White;
ViewControllers = tabs;
}
}
But how can I move from a view with TabBar to a view without and vis-versa ?
I don't use StoryBoard and I code on Xamarin.iOS.
When Push
When Present
Set Connection Page as RootViewController at first, and then change it when you want to.
Code:
And change it in
Connection Page