Xamarin iOS 返回主屏幕按钮未显示在详细信息视图中



简而言之,我有一个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添加到详细控制器的导航栏LeftItem中。它给了我想要的外观和行为

{
_masterViewController = new MenuViewController();
_inventories = new InventoriesViewController();
_inventoriesNavigation = new UINavigationController(_inventories);
_inventories.NavigationItem.LeftBarButtonItem = DisplayModeButtonItem;
ViewControllers = new UIViewController[] {
_masterViewController,
_inventoriesNavigation
};
}

最新更新