Ara*_*and 10 ios ios5 uistoryboard
我有一个ApplicationDelegate实现的协议.我想将它传递给故事板中定义的第一个视图控制器.如何从该方法访问它?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Run Code Online (Sandbox Code Playgroud)
Sco*_*ood 22
我不确定我是否正确理解了这个问题我想你是在问如何在故事板中获得第一个viewController.要打电话给你,
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc =[storybord instantiateInitialViewController];
Run Code Online (Sandbox Code Playgroud)
更改故事板的名称以适合您的名称,MainStoryboard只是默认名称.希望这是你想要的.
编辑:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc =[storybord instantiateInitialViewController];
//set the delegate on the view controller that you have loaded
// Override point for customization after application launch.
return YES;
}
Run Code Online (Sandbox Code Playgroud)
Pet*_*ger 14
而不是使用创建现有故事板的新副本
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
Run Code Online (Sandbox Code Playgroud)
您可以在应用程序委托的头文件中设置此属性
@property (nonatomic, weak) UIViewController* initialViewController;
Run Code Online (Sandbox Code Playgroud)
并在此方法中只需将self.window.rootViewController指定给属性
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.initialViewController = self.window.rootViewController;
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这应该工作,因为在app delegate协议的window属性中访问rootViewConroller,如果使用storyboard,这个控制器是initialViewController.
归档时间: |
|
查看次数: |
16006 次 |
最近记录: |