Xamarin.ios 添加UITabBarController并且没有NavigationController
由于我是Xamarin.IOS的新手,我想问一个问题。 我在Xamarin.IOS项目中添加了UITabBarController 当我通过TabController的实例初始化RootViewController时,它工作正常,我拥有所有选项卡。 但是我的导航控制器设置为空!这意味着:Xamarin.ios 添加UITabBarController并且没有NavigationController,xamarin.ios,uitabbarcontroller,appdelegate,navigationcontroller,rootviewcontroller,Xamarin.ios,Uitabbarcontroller,Appdelegate,Navigationcontroller,Rootviewcontroller,由于我是Xamarin.IOS的新手,我想问一个问题。 我在Xamarin.IOS项目中添加了UITabBarController 当我通过TabController的实例初始化RootViewController时,它工作正常,我拥有所有选项卡。 但是我的导航控制器设置为空!这意味着: 导航项将消失 以下代码不允许在ViewController之间导航: this.NavigationController.PushViewController(new ProfileViewController
this.NavigationController.PushViewController(new ProfileViewController(), true);
_tabController = new TabController();
_window.RootViewController = _tabController;
还有我的TabController:
public class TabController : UITabBarController
{
UIViewController tab1, tab2, tab3, tab4;
public TabController()
{
tab1 = new HomeViewController();
tab1.TabBarItem.Image = UIImage.FromFile("Icons/Home.png");
tab2 = new TagCategoryViewController(null, null, 1, null);
tab2.TabBarItem.Image = UIImage.FromFile("Icons/Tag.png");
tab3 = new SearchViewController();
tab3.TabBarItem.Image = UIImage.FromFile("Icons/Search.png");
tab4 = new ProfileViewController();
tab4.TabBarItem.Image = UIImage.FromFile("Icons/Home.png");
var tabs = new UIViewController[] {
tab1, tab2, tab3,tab4
};
ViewControllers = tabs;
}
}
另外,我有很多UIViewController,所有这些都是通过编程实现的,我不使用故事板 将
选项卡controller
包装在UINavigationController
中
_tabController = new TabController();
_window.RootViewController = new UINavigationController(_tabController);
这样NavigationController属性就不会为null,可以进行导航。有一个小问题,当我导航到不在TabController列表中的UIViewController时,选项卡栏会消失!你知道为什么吗?
UINavigationController
用于堆栈导航。推到堆栈上的每个ViewController
都将显示在选项卡controller
上方。这意味着当按下新的ViewController
时,TabController
将消失,并在按下后退按钮时显示。让我们想象一下,我有了带有TabController的ViewController1,我想通过保持TabController来导航到ViewController2(它在TabController中不存在)。我怎么做?是否使用PushViewController?与其更新问题,不如提出新问题。好的,这是我的新问题: