首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将"initWithNibName“改为"storyboardWithName”

将"initWithNibName“改为"storyboardWithName”
EN

Stack Overflow用户
提问于 2013-04-10 01:03:48
回答 2查看 3.7K关注 0票数 1

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

xib文件和我想调用故事板,但我没有足够的经验。这是我的代码

代码语言:javascript
复制
- (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;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-10 01:21:06

如果您只是想在应用程序启动时加载故事板的初始视图控制器,只需在application:didFinishLaunchingWithOptions:中返回YES即可。

代码语言:javascript
复制
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    return YES;
}

如果您想要从storyboard加载特定的控制器,您需要首先通过以下方式获取storybard实例

代码语言:javascript
复制
UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"StoryboardName" bundle:nil];

然后使用它来实例化所需的控制器

代码语言:javascript
复制
UIViewController * controller = [storyboard instantiateViewControllerWithIdentifier:@"controllerIdentifier"];

其中controllerIdentifier已被指定为界面生成器中控制器的情节提要标识符。

下面是一个加载特定视图控制器的示例,在启动时呈现它。

代码语言:javascript
复制
- (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;
}
票数 5
EN

Stack Overflow用户

发布于 2013-04-10 01:16:06

如果你开始一个新的iOS项目并选择“使用故事板”,故事板将自动为你预加载。

Storyboard是一个包含应用程序的所有控制器(场景)的地方,要引用一个控制器(场景),您需要使用

代码语言:javascript
复制
    UIViewController *controller = [[UIStoryboard storyboardWithName:@"storyboard" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"an identifier"];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15908080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档