Xcode 4.2 iOS空应用程序和故事板
我是一个Xcode新手,我正在尝试制作我的第一个培训应用程序。 由于显然空应用程序模板是提供预集成核心数据的唯一模板,我select它。 但是,之后,我无法使UI工作(它仍然是空的)。
我做了什么:
- 空应用程序模板
- 新iPad故事板文件
- 飞溅的标签栏控制器上
- 在“项目摘要”视图中更改了主界面
- 点击⌘R
- 盯着纯白色的iPad屏幕,没有任何标签
我尝试了另一个项目,我创build了一个标签栏应用程序(这反映了我的故事板更改),没有任何见识。
在AppDelegate.m中注释(或删除)窗口创build和显示代码,如下所示:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. // self.window.backgroundColor = [UIColor whiteColor]; // [self.window makeKeyAndVisible]; return YES; }
使用故事板时,会自动为您创build一个主UIWindow。 你的情况发生的是你正在创build另一个白色的窗口,并把它放在标签UI的顶部。
也请注意,主/明细模板也为您提供核心数据选项。
对于Empty Application项目,在添加Storyboard文件之后,您必须执行两项操作。
-
将一行添加到您的项目Info.plist文件中:
Key: Main storyboard file base name Value: Storyboard
(或者任何你命名的故事板文件)
-
删除
application:didFinishLaunchingWithOptions:
的内容application:didFinishLaunchingWithOptions:
除了return YES;
:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { return YES; }
Master-Detail和Utility项目模板也提供Core Data作为选项。
Core Data的Apple模板非常糟糕。 他们在应用程序委托中插入了太多的function,并且不必要地使用延迟加载,这更加复杂了。
您最好查看生成的代码,并在不使用核心数据的情况下将项目作为独立的类添加到项目中。
为了回答你的问题,默认的空模板在应用委托的application:didFinishLaunchingWithOptions:
方法中以编程方式创build一个窗口。 故事板本身设置了一个窗口,所以您需要从应用程序代理中删除该代码。 你在这个方法中唯一需要的是return YES;
。