[英]Xamarin iOS Back To Master Button Is not shown on detail view
簡而言之,我有一個SplitViewController作為RootController。 在構造函數中,我添加了主控制器和明細控制器。 細節控制器包裝在導航控制器中。
{
_masterViewController = new MenuViewController();
_inventories = new InventoriesViewController();
_detailNavigationController = new UINavigationController(_inventories);
ViewControllers = new UIViewController[] {
_masterViewController,
_detailNavigationController
};
如何在詳細信息導航欄上顯示菜單(顯示主菜單)后退按鈕?
我們不使用故事板
在方法ViewDidLoad()中添加以下代碼
UIButton backButton = new UIButton();
backButton.Frame = new CGRect(0,0,20,20);
backButton.SetTitle("Back", UIControlState.Normal);
backButton.SetTitleColor(UIColor.Gray, UIControlState.Normal);
backButton.SetImage(new UIImage("back"), UIControlState.Normal);
//backButton.SetImage(new UIImage("001.jpg"), UIControlState.Normal);
backButton.TouchUpInside += (sender, e) =>
{
NavigationController.PopViewController(true);
};
UIBarButtonItem backItem = new UIBarButtonItem(backButton);
NavigationItem.LeftBarButtonItem = backItem;
一段時間后,我在UISplitViewController上找到了屬性
DisplayModeButtonItem
因此,在創建主控制器和明細控制器之后(詳細控制器被包裝到UINavigationController中),我將DisplayModeButtonItem添加到了明細控制器的NavigationBar LeftItem中。 它給了我想要的外觀和行為
{
_masterViewController = new MenuViewController();
_inventories = new InventoriesViewController();
_inventoriesNavigation = new UINavigationController(_inventories);
_inventories.NavigationItem.LeftBarButtonItem = DisplayModeButtonItem;
ViewControllers = new UIViewController[] {
_masterViewController,
_inventoriesNavigation
};
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.