Ios 用4“制作iPhone应用程序;维度,如何使其通用?

Ios 用4“制作iPhone应用程序;维度,如何使其通用?,ios,iphone,ipad,Ios,Iphone,Ipad,我已经为iPhone制作了一个应用程序,所有东西都有iPhone5 4英寸的尺寸。 模拟器可以很好地运行游戏,在我的iPhone上运行得很好 现在,我明白了,为了在iPhone3.5“屏幕和iPad上发布游戏,我必须在同一个项目文件中创建文件 我有: Iphone4”: main.h main.m iphone4“故事板 其他 其他 Iphone3.5”: main 1.h main 1.m iphone3.5英寸情节提要 其他1.h 其他1.m Ipad: 缅因州2.h 缅因州2.m

我已经为iPhone制作了一个应用程序,所有东西都有iPhone5 4英寸的尺寸。 模拟器可以很好地运行游戏,在我的iPhone上运行得很好

现在,我明白了,为了在iPhone3.5“屏幕和iPad上发布游戏,我必须在同一个项目文件中创建文件

我有:

  • Iphone4”:

    • main.h
    • main.m
    • iphone4“故事板
    • 其他
    • 其他
  • Iphone3.5”:

    • main 1.h
    • main 1.m
    • iphone3.5英寸情节提要
    • 其他1.h
    • 其他1.m
  • Ipad:

    • 缅因州2.h
    • 缅因州2.m
    • 故事板
    • 其他2.h
    • 其他2.m
  • 我有几个问题:

  • 下载器设备如何检测要获取的文件夹 比赛从哪里开始

  • 当我在3.5”中运行模拟器时,尽管已经在3.5”设置中创建了应用程序,但它仍然会在4”文件夹中创建情节提要。然而,当我运行iPad模拟器时,它会在iPad文件夹中运行情节提要。因此,简言之,我如何让Xcode检测何时应该在模拟器中使用4”维度,或者何时使用3.5”维度“尺寸

  • 如果我在app Store上以4英寸游戏的形式发布该应用程序,那么在iPhone4或更老版本上下载该应用程序的人是否仍然能够玩它(即,它是否会自动重新缩放?)

  • 很高兴通过Skype或其他媒体进行进一步讨论。如能快速回复,将不胜感激

    亲切问候,


    Max

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

    你通常希望iPad和iPhone有不同的故事板。项目中的“信息”选项卡为两个文件名都留有空格,在运行时,应用程序决定自动加载哪一个

    然而,iOS 8的规则正在改变。如果这是一个仍在开发中的新应用程序,你可能想考虑使用iOS 8内置的新的自适应UI功能。苹果已经从根本上改变了他们期望我们处理这些东西的方式,以及我们处理设备旋转的方式(简短回答:我们不应该再处理旋转。相反,我们会收到视图中大小更改的通知,我们应该对此做出响应。现在有“大小类”具有“常规”和“紧凑”状态“对于每个维度,您可以教您的应用程序如何以常规尺寸和紧凑尺寸的不同组合进行布局


    苹果公司强烈暗示,新的设备尺寸即将出现,如果我们想正确使用新设备,我们应该采用新的方式。很可能任何新设备都只运行iOS 8,并且将依赖新的自适应UI API进行UI布局。我不知道它们将具有什么样的兼容性使用较旧的设备,但可能会有限制。

    您使用的是故事板,所以这是您的应用程序代理

    - (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;
    
    }

    那么在您看来,load是否添加了以下内容:

    UIStoryboard *storyboard = [self grabStoryboard];
    

    如果您使用的是iPad,请添加相应的大小,并将情节提要重命名为该大小

    否,您不需要所有这些文件。您的视图只需要在运行时检测适当的屏幕大小。使用单独的iPad/iPhone情节提要是正常的,但您肯定不需要所有内容的3个副本。请提供一些插件知道我如何让应用程序在同一个故事板上运行3.5英寸和4英寸吗?谢谢,MaxYou可以使用AutoLayout或“struts and springs”(调整大小规则的旧样式)来实现。这取决于您使用的是哪种。