2

我正在将此 GitHub 项目用于我正在开发的应用程序(Github Link 1)。不幸的是,这个项目不支持 Storyboards。但是,我确实找到了一个支持 Storyboard 的版本(Github Link 2),但是我无法让它与他们提出的建议一起工作。以下是建议的结果:

  • 子类RESideMenuRootSideMenuViewController并将初始场景的自定义类设置为您创建的类。

当我尝试这个时:

RESideMenuItem *homeItem = [[RESideMenuItem alloc] initWithTitle:@"Home" action:^(RESideMenu *menu, RESideMenuItem *item)
{
    [menu hide];

    UIViewController* vc = [self.storyboard instantiateViewControllerWithIdentifier:@"MainViewController"];
    [menu displayContentController:vc];
}];

当我尝试它时,我收到一条错误消息:

Property 'storyboard' not found on object of type 'AppDelegate *'
  • 使用 Storyboard Id 实例化视图控制器。( UIStoryboard – instantiateViewControllerWithIdentifier:)

这是我尝试尝试时的代码:

RESideMenuItem *homeItem = [[RESideMenuItem alloc] initWithTitle:@"Home" action:^(RESideMenu *menu, RESideMenuItem *item)
     {
         [menu hide];

         UIViewController* vc = [UIStoryboard instantiateViewControllerWithIdentifier:@"MainViewController"]; [menu displayContentController:vc];
     }];

当我尝试这个时,我收到一条错误消息,说:

No known class method for selector 'instantiateViewControllerWithIdentifier:'

最后一个,我意识到它已经完成了。

我环顾了谷歌,看看是否能找到任何东西,发现了这个:

UIStoryboard [instantiateViewControllerWithIdentifier:@"MainViewController"];

这也不起作用。

对不起,很长的帖子,但我不太确定我还能做些什么来解决这个问题。还有其他解决方案吗?我忽略了什么吗?请问我是否不清楚。

作为参考,我使用的是 Xcode 4.6.3。我正在使用 Storyboards,并且我正在使用 ARC 对我的项目进行编码。

4

1 回答 1

3

您需要先加载情节提要:

[[UIStoryboard storyboardWithName:@"MainStoryboardName" bundle: nil] instantiateViewControllerWithIdentifier:@"SomeVCInMainStoryboard"];

假设项目设置正确,您只需要更改名称即可加载 Storyboard 和后续视图控制器。

于 2013-09-10T02:01:13.400 回答