我尝试重新编写一些旧版应用,并希望从头开始。
基本上我尝试从“空应用程序”模板开始,只留下AppDelegate.m / .h,我需要在iPad / iPhone之间进行自己的分离。
我知道如何在AppDelegate中执行此操作吗?
在较旧的Xcode版本中,该程序为iPad / iPhone创建了单独的代理。
答案 0 :(得分:1)
当您必须以不同方式处理iPhona和iPad时,您可以使用以下内容查看您的身份:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// Do things for iPad
} else {
// Do things for iPhone
}
因此,您可以为iPad或iPhone使用不同的视图委托,或者如果它们的行为几乎完全相同,您可以使用相同的视图委托,并在必要时使用之前的测试。例如,您可以修改init方法以加载不同的Xib文件:
- (id)init
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
self = [super initWithNibName:@"ViewController_iPad" bundle:nil];
} else {
self = [super initWithNibName:@"ViewController_iPhone" bundle:nil];
}
if (self) {
// Custom initialization
}
return self;
}
您可以在shouldAutorotateToInterfaceOrientation
等中执行类似操作。