我有一个应用程序(Xamarin.IOS),它以没有TabBar的UIViewController(连接视图)开头。但是当用户登录后,我希望将我创建的选项卡栏添加到其他视图中。反之亦然,当用户注销时,我希望显示没有TabBar的连接视图。
我知道当我想要显示TabBar时,在appDelegate中,我必须像这样初始化_window:
_tabController = new TabController();
_window.RootViewController = _tabController;
_window.MakeKeyAndVisible();
如果我想要一个没有TabBar的视图,这里是appDelegate:
viewController = new ConnectionViewController();
_window.RootViewController = new UINavigationController(viewController);
_window.MakeKeyAndVisible();
使用这个 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;
}
}
但是我怎么从带有TabBar的视图切换到没有TabBar的视图,反之亦然?
我不使用StoryBoard,在Xamarin.iOS上编写代码。
_tabController = new TabController(); _window.RootViewController = _tabController; _window.MakeKeyAndVisible();
。 - ColeX