Xamarin.ios 如何将xamarin侧边栏与情节提要一起使用
我正在尝试创建一个带有边栏抽屉导航的应用程序,但是控件在控制器中是硬编码的,就像我在示例中看到的一样,我想要的是我的边栏菜单和内容将在故事板中设计,问题是我真的不知道从哪里开始 rootviewcontroller.csXamarin.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
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。谢谢!