FlyoutNavigation - iOS

时间:2013-12-04 16:32:26

标签: c# ios uiviewcontroller uinavigationcontroller xamarin

我正在尝试使用Clancey FlyoutNavigation,但是我无法让它执行segue。

我希望它像导航菜单一样工作,所以如果我按下"开始"它会在我的故事板上找到某种观点

这是我当前的代码,但它根本不起作用。

var navigation = new FlyoutNavigationController {
                // Create the navigation menu
                NavigationRoot = new RootElement ("Navigation") {
                    new Section ("Pages") {
                        new StringElement ("Start"),
                    }
                },
                // Supply view controllers corresponding to menu items:
                ViewControllers = new [] {
                    new UIViewController { this.PerformSegue("toError", this) },
                },
            };
            // Show the navigation view
            navigation.ToggleMenu ();
            View.AddSubview (navigation.View);

1 个答案:

答案 0 :(得分:2)

我不知道你是否仍然需要这个问题的帮助,看到去年问这个问题,但我做的是创建一个自定义菜单控制器,继承了#34; FlyoutNavigationController" 。这样,从任何视图添加我想要导航到的菜单的新实例非常容易。 我编写自定义菜单的方式是这样的:

首先,我创建了我希望能够导航到的菜单的新实例:

UINavigationController planningViewController = new UINavigationController(new PlanningViewController());

然后我将它们添加到一个数组中:

UIViewController[] viewcontrollers = new [] { planningViewController };

然后我将它们添加到RootElement:

NavigationRoot = new RootElement ("Planning") 
{ 
    new Section ("Menu") 
    {
        new StringElement ("Rooster"),
    },
};

编码的其余部分是关于添加代表以单击菜单元素。我使用一个单独的FlyOutDataSource来处理程序应该引导你的菜单,但这可以在你声明菜单的同一个类中完成。您可以使用单击元素的索引来确定应导航到的菜单。