制作具有4“尺寸的iPhone应用程序,如何制作通用?

时间:2014-06-17 22:11:06

标签: ios iphone ipad

我为iPhone制作了一个应用程序,一切都有iPhone5 4"尺寸。 模拟器运行游戏很好,它在我的iPhone上运行良好。

现在,我明白为了在iPhone 3.5上发布游戏"屏幕和iPad,我必须在同一个项目文件中创建文件。

我有:

  1. 的Iphone4":

    • main.h
    • 的main.m
    • 的iphone4" .storyboard
    • other.h
    • other.m
  2. Iphone3.5":

    • main1.h
    • main1.m
    • iphone3.5" .storyboard
    • other1.h
    • other1.m
  3. ipad公司:

    • main2.h
    • main2.m
    • ipad.storyboard
    • other2.h
    • other2.m
  4. 我有很多问题:

    1. 下载程序设备如何检测要采用的文件夹 游戏来自?

    2. 当我在3.5"中运行模拟器时,尽管已经在3.5"中创建了应用程序。设置,它仍然提供在4"中创建的故事板。夹。但是,当我运行iPad模拟器时,它会在iPad文件夹中运行故事板。简而言之,我如何让Xcode检测何时应该使用4"模拟器中的尺寸或何时使用3.5"尺寸

    3. 如果我要在App Store上以4"任何在iPhone4或更早版本上下载它的人都能玩它吗(即它会自动重新缩放吗?)

    4. 很高兴通过Skype或其他媒体进一步讨论。非常感谢快速回应。

      亲切的问候,

      最高

2 个答案:

答案 0 :(得分:2)

您正在使用故事板,因此这是您的应用代理

- (UIStoryboard *)grabStoryboard {

UIStoryboard *storyboard;

// detect the height of our screen
int height = [UIScreen mainScreen].bounds.size.height;

if (height == 480) {
    storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    // NSLog(@"Device has a 3.5inch Display.");
} else {
    storyboard = [UIStoryboard storyboardWithName:@"MainRetina" bundle:nil];
    // NSLog(@"Device has a 4inch Display.");
}

return storyboard;

}

然后在你的视图中加载添加:

UIStoryboard *storyboard = [self grabStoryboard];

如果您正在使用iPad,请添加相应的大小,并将故事板重命名为该效果

答案 1 :(得分:0)

您不必也不应该为不同的平台提供不同的源文件。将3.5英寸和4英寸iPhone / iPod从同一故事板中运行是非常简单的。

您通常需要为iPad和iPhone设计不同的故事板。项目中的信息选项卡包含两个文件名的空格,在运行时,应用程序决定自动加载哪个文件名。

然而,iOS 8的规则正在发生变化。如果这是一个仍在开发中的新应用程序,您可能需要考虑使用iOS 8中内置的新自适应UI功能.Apple已经彻底改变了他们期望我们处理这些内容的方式,以及我们的方式应该处理设备轮换(简短回答:我们不应该再处理轮换了。相反,我们会在视图中收到有关大小变化的通知,我们应该回应那些。现在有“大小类”每个维度都有“常规”和“紧凑”状态,并教你的应用程序如何在常规和紧凑尺寸的不同组合中展示自己。

Apple强烈暗示新的设备尺寸即将到来,如果我们想要使用新设备,我们应该采用新的做事方式。任何新设备很可能只运行iOS 8,并且将依赖于新的自适应UI API来实现其UI布局。我不知道它们与旧设备有什么样的兼容性,但它可能会有局限性。