0

我有一个已经在运行目标 OS 3.1 的 iphone 应用程序。我正在尝试将其转换为通用应用程序。我不会更改模型,只会更改 xib。所以我在 IB 中编写了 ipad xib,然后我转到 info.plist 并添加 MainIpad Nib 以使 ipad 指向正确的 MainIpad.xib。我还将项目信息中的目标设备系列设置为 ipad/iphone。

这似乎还不够,每当我运行 ipad 模拟器时,我总是将 MainIpad.xib 视图调整为 iphone,实际上它只是在 ipad 中显示一个 iphone。我还尝试将 CGRect 手动设置为 ipad 大小。结果是更大的视图仍然被剪辑到 iPhone 中。

你能指出我做错了什么并建议在通用应用程序中转换的正确方法吗?

谢谢

4

4 回答 4

1
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
    if(!settingsController)
        settingsController = [[SettingsController alloc]initWithNibName:@"ipadSettingsController" bundle:nil];
    [self.navigationController pushViewController:settingsController animated:YES]; 
    [settingsController release];
}else {
    if(!settingsController)
    settingsController = [[SettingsController alloc] initWithNibName:@"SettingsController" bundle:nil];
    [self.navigationController pushViewController:settingsController animated:YES]; 
    [settingsController release];
}
于 2010-09-18T10:23:41.907 回答
1

grt 教程

http://www.raywenderlich.com/1111/how-to-port-an-iphone-application-to-the-ipad

于 2010-11-16T07:53:43.537 回答
0

使用针对ipad的另一个xib。

于 2010-09-18T11:35:15.540 回答
0

你能指出我做错了什么并建议在通用应用程序中转换的正确方法吗?

正确的方法?这很容易。从 iPad 编程指南的第 20 页开始:

重要提示:您应该始终使用 Upgrade Current Target for iPad 命令来迁移现有项目。不要尝试手动迁移文件。

根据您的问题描述,您似乎尝试手动迁移文件。

我对您的建议是:在开始迁移之前重新使用您的项目副本。(您确实在开始转换之前保存了项目的副本,就像一个优秀的程序员应该做的那样,对吧?)

于 2010-09-18T19:01:55.950 回答