使用Xcode 4.3创建一个空的通用应用程序

时间:2012-04-02 15:37:02

标签: ios xcode ios-universal-app

在Xcode的早期版本中,创建基于窗口的通用应用程序将使用iPhone和iPad特定文件填充项目并分配适当的入口点。所需要的只是修改iPhone / iPad控制器/ xib以创建特定于设备的接口。

可悲的是,XCode 4.3不再提供基于窗口的模板(空应用程序是最接近的),我不知道如何正确配置入口点。使用storyboarding这是相当紧张的前进,但我想使用基于编程或基于xib的工作流程。

我创建了两个视图控制器和xib:HomeViewController_iPhoneHomeViewController_iPad。只需将每个设备的入口点设置为适当的HomeViewController,即可崩溃应用程序。我怀疑我需要做一些子类化应用程序委托,但我不太清楚如何继续。有什么指针吗?

1 个答案:

答案 0 :(得分:2)

这就像我在使用导航控制器时所做的那样。根据设备,代码加载正确的xib。这是didFinishLaunchingWithOptions中的AppDelegate.mnavigationControllerAppDelegate.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;

希望它有助于解决方案!