2012-07-01 50 views
2

使用StoryBoard呈现视图控制器的新方法。使用StoryBoard呈现ViewController的iOS Xcode 4.2

UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

UINavigationController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"Connect"]; 

[self presentViewController: secondViewController animated:YES completion: NULL]; 

呈现控制器连接的老办法是这样的

Connect *connect = [[[Connect alloc] initWithNibName:@"Connect" bundle:nil] autorelease]; 

[self presentViewController:connect animated:YES completion:NULL]; 
NSString *userid; 
[email protected]"123"; 

[connect setID:userid]; 

我想打电话给在故事板的方式连接控制器的SETID功能,我该怎么办呢?好像我没有直接获得Connect控制器的实例。

回答

0

你为什么将它转换为UINavigationController?只要做你正在做的事情。

Connect* connect = [secondStoryboard instantiateViewControllerWithIdentifier:@"Connect"]; 
+0

因为如果我这样做,那么连接viewcontroller将有一个我想要的后退按钮。 –

1

你应该继承的视图控制器,这样就可以控制在用户与它互动发生了什么

在Xcode中,文件(除非你的应用程序可以在塞格斯单独发挥作用。) - >新建 - >文件 - > Cocoa Touch Class。创建一个像MyAwesomeViewController这样的子类(在你的情况下)UINavigationController

我喜欢在我的自定义视图控制器类中创建一个名为NewVC的自定义方法。当你想创建一个新的,你可以叫[MyAwesomeViewController NewVC]

+(MyAwesomeViewController *)NewVC { 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName: @"MyStoryboard" bundle: nil]; 
    return [storyboard instantiateViewControllerWithIdentifier: @"MyAwesomeViewController"]; 
} 

这种方式,它会返回一个新的视图控制器实例:它可以做你上面列出的一切,再加上任何自定义设置。