我一直在寻找有关如何制作iPhone应用程序的教程,以便它可以在iPad上运行。然而,当我试图实现这一点时,我已经变得有点卡住,因为Xcode已经改变了相当多的数量并且教程似乎已经过时了。到目前为止,我已经完成了以下工作:
我更新了要设置为通用的设备:
我还更新了我的app委托类:
// Set up tab 1
TabOne_ViewController *tabOne = [TabOne_ViewController alloc];
UIViewController *tabOneViewController;
// Set up tab 2
TabTwo_ViewController *tabTwo = [TabTwo_ViewController alloc];
UIViewController *tabTwoViewController;
// Determine which UI to load for each tab
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
tabOneViewController = [tabOne initWithNibName:@"TabOne_ViewController" bundle:nil];
tabTwoViewController = [tabTwo initWithNibName:@"TabTwo_ViewController" bundle:nil];
}
else
{
tabOneViewController = [tabOne initWithNibName:@"TabOne_ViewController(iPad)" bundle:nil];
tabTwoViewController = [tabTwo initWithNibName:@"TabTwo_ViewController(iPad)" bundle:nil];
}
我还创建了两个额外的.xib文件:
最后,我尝试将TabOne_ViewController(iPad).xib
上的课程设为TabOne_ViewController.h
& TabOne_ViewController.m
。而且TabTwo_ViewController(iPad).xib
也是TabTwo_ViewController.h
& TabTwo_ViewController.m
。但是我无法这样做。
我在某处出错了吗?我错过了额外的步骤吗?
修改
当我指的是无法选择我在IB中所说的类时:
无法将类链接到.xib文件,我无法链接所有IBOutlet& IBActions。
答案 0 :(得分:1)
你去目标点击项目,总结一下: 设备:“通用”
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
tabOneViewController = [tabOne initWithNibName:@"TabOne_ViewController" bundle:nil];
tabTwoViewController = [tabTwo initWithNibName:@"TabTwo_ViewController" bundle:nil];
}
else
{
tabOneViewController = [tabOne initWithNibName:@"TabOne_ViewController(iPad)" bundle:nil];
tabTwoViewController = [tabTwo initWithNibName:@"TabTwo_ViewController(iPad)" bundle:nil];
}
您可以按以下方式尝试此代码,而不是此代码:
UIDevice* thisDevice = [UIDevice currentDevice];
if(thisDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad)
{
// iPad
tabOneViewController = [tabOne initWithNibName:@"TabOne_ViewController(iPad)" bundle:nil];
tabTwoViewController = [tabTwo initWithNibName:@"TabTwo_ViewController(iPad)" bundle:nil];
}
else
{
// iPhone
tabOneViewController = [tabOne initWithNibName:@"TabOne_ViewController" bundle:nil];
tabTwoViewController = [tabTwo initWithNibName:@"TabTwo_ViewController" bundle:nil];
}
答案 1 :(得分:1)
在xib中,您尝试更改View的类。但是你必须改变File's Owner