缩放UIViewController和儿童适合iPad或iPhone屏幕

时间:2014-03-12 03:55:11

标签: ios iphone ipad uiviewcontroller scale

我正在为应用程序商店开发游戏,并且一直在使用Sprite Kit。在Sprite Kit中,游戏可以在iPhone和iPad上运行,我设置了SKScene的scaleMode = SKSceneScaleModeAspectFill并制作了屏幕比例,因此它适合iPhone 4& 5屏幕以及iPad,并且运行良好。现在我正在构建应用程序的菜单,但我没有使用Sprite Kit。相反,我使用集合视图,按钮,图像等。我没有看到类似的属性,以根据我所使用的设备将视图缩放到一定的大小。由于我正在为所有按钮使用图像,理想情况下,按比例缩放所有内容将是实现我正在寻找的最简单的方法。我是否错过了最好的方法?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您正在描述自动布局。它是专门为此目的而设计的功能,即响应屏幕尺寸不同而改变界面对象的大小和距离。

https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/Introduction/Introduction.html

然而,对于与iPad和iPhone一样大的尺寸差异,如果你有一个通用的应用程序,有时设计两个不同的界面是有意义的。可以很容易地设置Info.plist或初始代码以加载正确的接口,具体取决于运行时的结果。事实上,如果你开始制作一款通用应用程序,该项目将只有两个故事板,一个用于iPhone,另一个用于iPad,它们会自动加载。

另一种选择(起初我没有想到,因为我不会写这些类型的游戏)是通过应用视图转换来缩放超视图(即将其transform设置为比例变换)。这会缩放视图的坐标系,因此所有子视图都会更改为匹配,就像绘图一样。