ios - Xcode 如何加载主 Storyboard ?

当我在 Xcode 4.6 中使用 storyboard 创建一个新的单 View 应用程序时,我们可以看到 main 函数使用应用程序委托(delegate)创建了一个新应用程序,如下所示:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([MyAppDelegate class]));

但是,如果我们查看 MyAppDelegate.h 和 MyAppDelegate.m,代码中没有任何地方引用 MainStoryboard.storyboard。这与 Non-Storyboard 版本不同,在 Non-Storyboard 版本中,我们可以找到以编程方式加载 nib 文件的代码行。

所以我的问题是, Storyboard是如何加载的? (我应该在哪里找到它?)

最佳答案

查看项目的目标设置

注意主 Storyboard 设置。

如果您想自己在代码中执行此操作,您可以执行类似的操作。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

   UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
   UIViewController *vc = [storyboard instantiateInitialViewController];

   // Set root view controller and make windows visible
   self.window.rootViewController = vc;
   [self.window makeKeyAndVisible];

   return YES;
}

https://stackoverflow.com/questions/16702631/

相关文章:

ios - 检测 iPhone 应用程序中是否存在摄像头?

ios - 每次 Xcode 重新启动时 View 错位

objective-c - Foo 类在 MyApp 和 MyAppTestCase 中都实现了。将

ios - 为什么 UIViewController 在 UINavigationBar 下扩展,而

ios - 永久设置 UITableView 内容插入

iphone - 重复符号问题

objective-c - 请求访问相机胶卷的权限

ios - 无法从其 DataSource 获取单元格

ios - 是否在 iOS SDK 中的任何位置定义了 HTTP 状态代码?

ios - 在代码生成的 UIView 上绘制 UIBezierPath