JASidePanelController加载ViewController的实例

时间:2013-09-07 13:23:02

标签: ios cocoa uinavigationcontroller sidebar

我正在为我的iOS应用程序使用JASidePanels,而且我遇到了一个问题。 (https://github.com/gotosleep/JASidePanels

我使用故事板,所以我将尝试解释现在情况如何(没有JASidePanel):

我的根VC是VC1。 VC1包含一个登录面板,可以通过segue将您带到Navigation Viewcontroller1(NVC1)。这个NVC1有VC2作为它的主要ViewController。 VC2包含一个包含名称列表的表视图。我在VC1中加载这些名称,创建VC2的实例,然后在那里发送数据。这很有效。

现在我正在尝试添加JASidePanels。我现在遇到的问题是,名称的表格视图没有显示,我只得到一个空白的VC2视图,但侧面板似乎都工作。我用于此的设置如下:

Root VC仍然是VC1。登录后,segue会将您带到MySidePanelController,它是JASidePanelController的子类。 MySidePanelController在Storyboard中创建,并具有MySidePanelController类。我用Storyboard ID的leftViewController和rightViewController创建了2个新的ViewControllers。另外,我将Navigation ViewController的Storyboard ID设置为centerViewController。 在MySidePanelController.m类中,我添加了以下代码:

-(void) awakeFromNib
{
    [self setLeftPanel:[self.storyboard instantiateViewControllerWithIdentifier:@"leftViewController"]];
    [self setCenterPanel:[self.storyboard instantiateViewControllerWithIdentifier:@"centerViewController"]];
    [self setRightPanel:[self.storyboard instantiateViewControllerWithIdentifier:@"rightViewController"]];
}

我的调试面板还指示ViewController2加载了两次,我不明白。我认为问题是我在VC1中创建的VC2实例未加载,而是调用了故事板中的空VC2。 如何将'setCenterPanel'设置为我在VC1中创建的VC2实例?

提前致谢!

0 个答案:

没有答案