2015-03-03 3 views
1

Я пытаюсь создать приложение с навигационной панелью боковой панели, но элементы управления жестко закодированы в вашем контроллере, как то, что я вижу в примере. Что я хочу, это мое меню боковой панели, и содержимое будет быть спроектированным в раскадровке, проблема в том, что я действительно не знаю с чего начать.Как использовать боковую панель xamarin с раскадровкой

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; 
    } 
} 

sidemenucontroller.cs

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(); 
    } 
} 

contentviewcontroller.cs

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(); 

    } 
} 

так в принципе нет ничего в моих кодов, так как мой пользовательский интерфейс является инициализация с моей раскадровки.

attach - как настроить свою раскадровку, каждая из этих представлений уже установлена ​​их соответствующими классами контроллеров.

http://i.stack.imgur.com/Vttcf.png

ответ

1

Там нет поддержки для выдвижного ящика/боковой панели/слайдер/ меню в конструкторе IOS выпадающей/[ваш псевдоним здесь].

Вы можете сконструировать содержимое контроллеров представления, которые вы хотите использовать в дизайнере, а затем загрузить их из раскадровки и установить их в своем контроллере боковой панели.

В вашей раскадровке дайте контроллеру меню и контроллеру контента идентификатор раскадровки, а затем создайте экземпляры в вашем коде с помощью UIStoryboard.InstantiateViewController(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); 
+0

геэза, спасибо это работает, я никогда не думал, что вы можете загрузить свой UIView в раскадровке. Большое спасибо! – Francis

Смежные вопросы