![](/img/trans.png)
[英]XAMARIN.IOS UITabBarController in some UIViewControllers
[英]UITabBarController in xamarin.ios without using StoryBoard
在繼續我的問題的這個帖子 ,我想發布,這將是一個問題,很多開發商xamarin.ios一個完整的問題。
我的要求是在所有UIViewControllers中都具有TabBar。 因此,據我所知,有兩種方法可以實現它。
首先:
appDelegate->設置RootViewController:TabController-> UVC1
在這種情況下,我有NULL NavigationController,並且沒有NavigationItem。 和在
this.NavigationController.PushViewController(new SearchViewController(),true);
NavigationController為null會產生錯誤。
這是我在AppDelegate中的代碼:
_tabController = new TabController(); _window.RootViewController = _tabController;
和我的TabController:
公共類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;
}
}
第二種方式:
RootViewController-> navigationController-> TabController-> UVC1->新的UVC2->沒有選項卡!
在這里,一切聽起來不錯,但是當我導航到Tabs中不存在的新UIViewController時,TabBar將消失!
代碼是:
_tabController = new TabController();
var navigationController = new UINavigationController(viewController);
_window.RootViewController = new UINavigationController(_tabController);
我能做什么 ? 任何想法?
我不使用StoryBoard!
通過包裝所有UIViewController
與UINavigationController
,你可以讓你想要的行為,但要確保您刪除TabBarController
因為NavigationBar
會重疊NavigationBar
從您的視圖。
_window.RootViewController = _tabController;
和您的意見:
tab1 = new UINavigationController(new HomeViewController());
tab1.TabBarItem.Image = UIImage.FromFile("Icons/Home.png");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.