Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.ios 如何将xamarin侧边栏与情节提要一起使用_Xamarin.ios_Xamarin_Sidebar - Fatal编程技术网

Xamarin.ios 如何将xamarin侧边栏与情节提要一起使用

Xamarin.ios 如何将xamarin侧边栏与情节提要一起使用,xamarin.ios,xamarin,sidebar,Xamarin.ios,Xamarin,Sidebar,我正在尝试创建一个带有边栏抽屉导航的应用程序,但是控件在控制器中是硬编码的,就像我在示例中看到的一样,我想要的是我的边栏菜单和内容将在故事板中设计,问题是我真的不知道从哪里开始 rootviewcontroller.cs using MonoTouch.Foundation; using MonoTouch.UIKit; using System; using System.CodeDom.Compiler; using SidebarNavigation; namespace Casebook

我正在尝试创建一个带有边栏抽屉导航的应用程序,但是控件在控制器中是硬编码的,就像我在示例中看到的一样,我想要的是我的边栏菜单和内容将在故事板中设计,问题是我真的不知道从哪里开始

rootviewcontroller.cs

using MonoTouch.Foundation;
using MonoTouch.UIKit;
using System;
using System.CodeDom.Compiler;
using SidebarNavigation;
namespace Casebook.IOS
{
public partial class RootViewController : UIViewController
{
    public SidebarController sideBar { get; private set; }

    public RootViewController() : base(null,null){

    }

    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();
        sideBar = new SidebarController (this,new  ContentViewController(), new SideMenuController());
        sideBar.MenuLocation = SidebarController.MenuLocations.Left;
    }
}
using MonoTouch.Foundation;
using MonoTouch.UIKit;

namespace Casebook.IOS
{
    public partial class SideMenuController : BaseController
    {
    public SideMenuController () : base(null,null)
    {
    }
    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();
    }
}
using System;
using System.Drawing;
using MonoTouch.Foundation;
using MonoTouch.UIKit;

namespace Casebook.IOS
{

public partial class ContentViewController : BaseController
{
    public ContentViewController():base(null,null)
    {
    }

    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

    }
}
sidemenucontroller.cs

using MonoTouch.Foundation;
using MonoTouch.UIKit;
using System;
using System.CodeDom.Compiler;
using SidebarNavigation;
namespace Casebook.IOS
{
public partial class RootViewController : UIViewController
{
    public SidebarController sideBar { get; private set; }

    public RootViewController() : base(null,null){

    }

    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();
        sideBar = new SidebarController (this,new  ContentViewController(), new SideMenuController());
        sideBar.MenuLocation = SidebarController.MenuLocations.Left;
    }
}
using MonoTouch.Foundation;
using MonoTouch.UIKit;

namespace Casebook.IOS
{
    public partial class SideMenuController : BaseController
    {
    public SideMenuController () : base(null,null)
    {
    }
    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();
    }
}
using System;
using System.Drawing;
using MonoTouch.Foundation;
using MonoTouch.UIKit;

namespace Casebook.IOS
{

public partial class ContentViewController : BaseController
{
    public ContentViewController():base(null,null)
    {
    }

    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

    }
}
contentviewcontroller.cs

using MonoTouch.Foundation;
using MonoTouch.UIKit;
using System;
using System.CodeDom.Compiler;
using SidebarNavigation;
namespace Casebook.IOS
{
public partial class RootViewController : UIViewController
{
    public SidebarController sideBar { get; private set; }

    public RootViewController() : base(null,null){

    }

    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();
        sideBar = new SidebarController (this,new  ContentViewController(), new SideMenuController());
        sideBar.MenuLocation = SidebarController.MenuLocations.Left;
    }
}
using MonoTouch.Foundation;
using MonoTouch.UIKit;

namespace Casebook.IOS
{
    public partial class SideMenuController : BaseController
    {
    public SideMenuController () : base(null,null)
    {
    }
    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();
    }
}
using System;
using System.Drawing;
using MonoTouch.Foundation;
using MonoTouch.UIKit;

namespace Casebook.IOS
{

public partial class ContentViewController : BaseController
{
    public ContentViewController():base(null,null)
    {
    }

    public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

    }
}
所以基本上我的代码中没有任何东西,因为我的ui是从我的故事板初始化的

“附加”是我设置故事板的方式,每个视图都已由各自的控制器类设置


iOS designer中不支持抽屉/侧边栏/滑块/弹出按钮/[您的别名在此处]菜单

您可以设计要在设计器中使用的视图控制器的内容,然后从情节提要加载这些内容,并在侧栏控制器中进行设置

在情节提要中,为菜单控制器和内容控制器提供一个情节提要ID,然后使用
UIStoryboard.instanceeviewController(string)
(您需要将结果强制转换为实际的
UIViewController
子类)在代码中创建它们的实例

假设您处于某个视图控制器的
ViewDidLoad()

var content = this.Storyboard.InstantiateViewController ("ContentControllerId") as ContentViewController;
var menu = this.Storyboard.InstantiateViewController ("MenuControllerId") as SideMenuController;

sideBar = new SidebarController (this, content, menu);

天啊,谢谢你的工作,我从没想过你可以在你的故事板上加载你的uiview。谢谢!