在Xcode的早期版本中,创建基于窗口的通用应用程序将使用iPhone和iPad特定文件填充项目并分配适当的入口点。所需要的只是修改iPhone / iPad控制器/ xib以创建特定于设备的接口。
可悲的是,XCode 4.3不再提供基于窗口的模板(空应用程序是最接近的),我不知道如何正确配置入口点。使用storyboarding这是相当紧张的前进,但我想使用基于编程或基于xib的工作流程。
我创建了两个视图控制器和xib:HomeViewController_iPhone
和HomeViewController_iPad
。只需将每个设备的入口点设置为适当的HomeViewController,即可崩溃应用程序。我怀疑我需要做一些子类化应用程序委托,但我不太清楚如何继续。有什么指针吗?
答案 0 :(得分:2)
这就像我在使用导航控制器时所做的那样。根据设备,代码加载正确的xib。这是didFinishLaunchingWithOptions
中的AppDelegate.m
。 navigationController
是AppDelegate.h
UIViewController *rootViewController;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
rootViewController = [[HomeViewController_iPhone alloc] initWithNibName:@"HomeViewController_iPhone" bundle:nil];
}
else {
rootViewController = [[HomeViewController_iPad alloc] initWithNibName:@"HomeViewController_iPad" bundle:nil];
}
navigationController = [[UINavigationController alloc]
initWithRootViewController:rootViewController];
self.window = [[UIWindow alloc]
initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window addSubview:navigationController.view];
[self.window makeKeyAndVisible];
return YES;
希望它有助于解决方案!