我必须为所有iPhone尺寸纵向模式设计一个应用程序。我正在使用故事板并使用故事板本身设置约束。让我困惑的是Size Classes
。由于我的要求只是iPhone肖像,我使用的是大小等级compact Width|regular Height
。我的问题是我可以禁用大小类导致仅适用于iPhone纵向模式。如果是,那么我可以设计为所有iPhone大小禁用大小类。什么是正确的方法?
答案 0 :(得分:1)
直观地说,在尺寸类之前,故事板UI是通过为每个iPhone尺寸做一个单独的界面来设计的。自从广泛的设备尺寸出现以来,尺寸等级已经被合并。考虑到您的应用可能必须在较旧的设备上运行,在纵向模式下iPhone之间的尺寸仍然存在差异。因此,您可能需要为每个方向创建一个单独的界面,我还没有尝试过。我认为正确的方法是简单地设计你选择的尺寸等级。
答案 1 :(得分:0)
如果您只是在申请iPhone时不需要使用尺寸等级的肖像。您只需设置尺寸指示器中的正确合约即可。 这是我的看法。 如果您正在为iPad和iPhone开发尺寸等级是最好的选择。
答案 2 :(得分:0)
尺寸类处理多个方向(纵向和横向)和不同设备(iPhone和iPad)的问题。您无法使用尺寸等级区分iPhone的两种不同屏幕尺寸。同样,您无法区分iPad mini(肖像)和iPad Air(肖像)代表尺寸类别。
肖像中的所有iPhone都具有相同的尺寸类行为,即紧凑(宽度)|常规(高度),无论是3.5",4.0",4.7"或5.5"。同样,横向中的所有iPhone都有Regular(宽度)|紧凑(高度)尺寸等级。大小等级不是您面临的问题的解决方案。
为了以纵向方式处理iPhone的多种屏幕尺寸,最好的办法是使用自动布局。将您的视图固定在边界上,以便它们在不同的屏幕上伸展或收缩。同样将标签与超级视图的边界绑定,以便它们也会增长。您还可以使用宽高比约束,该约束将允许相对于元素的宽高比增大视图和图像,而不是水平增加它们以最终具有细长的外观。
如果您不熟悉自动布局,我强烈建议您观看WWDC2012的以下会话: