将"initWithNibName"更改为"storyboardWithName"

Abd*_*Eid 1 xcode nib ios uistoryboard

我按照一些教程在应用程序启动期间创建一个打开的门动画,但它正在调用

xib文件,我想调用storyboard,我没有足够的经验.这是我的代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    self.viewController = [[[OpenDoorsViewController alloc] initWithNibName:@"OpenDoorsViewController" bundle:nil] autorelease];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

Gab*_*lla 5

如果你只是要加载的初始视图控制器故事板时,应用程序启动,只返回YESapplication:didFinishLaunchingWithOptions:.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

如果要从故事板加载特定控制器,则需要首先获取故事栏实例

UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"StoryboardName" bundle:nil];
Run Code Online (Sandbox Code Playgroud)

然后用它来实例化你需要的控制器

UIViewController * controller = [storyboard instantiateViewControllerWithIdentifier:@"controllerIdentifier"];
Run Code Online (Sandbox Code Playgroud)

其中controllerIdentifier已分配为故事板标识符到在界面生成器的控制器.

这是一个加载特定视图控制器的示例,在启动时显示它.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"StoryboardName" bundle:nil];
    UIViewController * controller = [storyboard instantiateViewControllerWithIdentifier:@"controllerIdentifier"];
    self.window.rootViewController = controller;
    return YES;
}
Run Code Online (Sandbox Code Playgroud)