2014-11-03 45 views
7

我使用大小类在Xcode 6中创建了一个新应用程序。经过iOS 7测试后,我无法弄清楚如何让iPhone在横向模式下显示特定尺寸的课程。iOS 7中的大小类

我第一次开发用户界面与iPhone风景为wAny hCompact,但iOS 7不认识。我在任何时候都有iPhone的肖像。

然后我改变它,所以现在我使用wCompact hRegular为iPhone的肖像。然后,我修改了任何人都是风景布局。但是当iOS 7设备处于横向模式时,它不会使用该布局。

iOS 7能够根据纵向或横向设备使用不同的尺寸类别吗?如果是这样,我应该使用哪个尺寸的课程?

参考:Really helpful information about backwards compatibility with size classes.

PS。我不关心iPad,因为设备不会根据iOS 8中的设备旋转显示不同的尺寸等级。

回答

15

大小类肯定适用于iOS 7。但是,只有当你遵循以下几个原则:

  • 的应用程序使用的Xcode版本或更高版本
  • 应用程序的部署目标是比iOS 8的早期
  • 尺寸类在指定的建故事板或XIB文件
  • 高度分量的值不紧凑(是的,这是你的情况下,这是不可能的的iOS 7,可惜的

这里有一点解释:https://stackoverflow.com/a/24976792/2190175

+3

项目符号3不正确 - xibs支持:https://developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/DeployingSizeClassesonEarlieriOSVersions.html#//apple_ref/doc/uid/TP40014436-CH13- SW1 – 2015-06-29 21:22:04

+1

@奥斯汀编辑它。现在第3点是正确的:“大小类别在故事板或xib文件中指定” – Martin 2015-08-25 09:04:58

+0

感谢您的更正。从XCode 6.1.1开始,iOS 7.0的xibs中也支持大小类。但是向后兼容性的限制仍然适用。 – 2015-09-03 21:33:52

-1

不,我恐怕iOS 8中引入了尺寸类。您可以编写一些条件代码要在iOS上运行以确定屏幕/视图大小/方向,并在iOS 8成为最低目标时更改布局,可以删除条件代码。

+0

我想我没有说出来,但我指的是规模等级的向后兼容性。对于我的项目,我最终将iOS 8作为最低支持版本。 作为一个旁注,我刚才发现这个[link](http://swiftiostutorials.com/backward-compatibility-ios-size-classes/)刚刚在谈论我认为是我上面的问题。 – 2015-01-15 17:19:58