在现有项目中添加Storyboard支持

时间:2013-09-10 01:48:32

标签: ios objective-c xcode uistoryboard

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

  • 作为RESideMenu的子类RootSideMenuViewController执行并将初始场景的自定义类设置为您创建的自定义类。

当我尝试这个时:

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。我正在使用Storyboard,我正在使用ARC编写我的项目。

1 个答案:

答案 0 :(得分:3)

您需要先加载故事板:

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

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