5

所以我已经为 iPhone 创建了一个应用程序,我想按照这个答案中的步骤将它转换为 iPad 。

  • 复制您的 iPhone-Storyboard 并将其重命名为 MainStoryboard_iPad.storyboard

  • 使用任何文本编辑器打开此文件。

  • 搜索 targetRuntime="iOS.CocoaTouch" 并将其更改为 targetRuntime="iOS.CocoaTouch.iPad"

  • 现在保存所有内容并重新打开 Xcode -> iPad 故事板包含与 iPhone 文件相同的内容,但所有内容都可能被打乱

一切都正确完成,但 iPad 模拟器/设备无论如何都使用 iPhone 故事板。有什么建议么?

我在摘要-> ipad 部署信息-> 主故事板中设置了 iPad 故事板。并且 main.plist-> Main storyboard file base name (iPad) 设置为 iPad storyboard。

请告诉我我错过了什么。

升级版。有趣的是,当我从 ipad 部署信息中删除 iPad 故事板名称时,它仍然在设备上使用我的 iPhone 故事板。

在此处输入图像描述

在此处输入图像描述 在此处输入图像描述

在此处输入图像描述

4

2 回答 2

4

不要忘记在项目的 info.plist 文件中添加以下内容(主故事板文件基本名称/主故事板文件基本名称(iPad))

在此处输入图像描述

希望这可以帮助。

于 2013-03-19T15:05:55.723 回答
4

您总是可以在 appDelegate 中选择正确的故事板并以编程方式呈现相应的根视图控制器

@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
    UIViewController *rvc;
}

执行

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
       UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"IPAD_Storyboard" bundle:nil];
       rvc = [storyboard instantiateViewControllerWithIdentifier:@"identifierForController"];
    }
    else {
       UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
       rvc = [storyboard instantiateViewControllerWithIdentifier:@"identifierForController"];
    }


    [self.window addSubview:rvc.view];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    return YES;
}
于 2013-03-19T15:14:27.443 回答