在Xcode 6中构建3.5英寸iPhone的接口

obe*_*tie 15 xcode objective-c interface-builder ios

在Xcode 6中,为不同大小的设备完成布局的方式已经有所改变:我们现在有了Size Classes.但是我如何为3.5英寸iPhone铺设界面呢?

"紧凑"高度等级似乎不适用于此.我知道我可以更改约束/压缩阻力(等)值,但在我的情况下,我希望能够更改此设备大小的字体大小.

这完全不可能吗?我意识到iOS 8不再支持iPhone 4(但不支持4S).我们也不能完全针对iOS 8,并且需要支持7甚至6.

sha*_*wat 8

似乎没有任何方法可以使用大小类来隔离特定的设备大小.我想Apple并不打算将此功能用于仅根据屏幕尺寸构建不同的布局,而是考虑更广泛的概念,例如方向和设备类型(iPhone,肖像或iPad,横向).换句话说"iPhone 4/4s,5/5c/5s或6/6 +没有不同的设计"......

我有与OP完全相同的问题,因为我想要一个仅适用于3.5英寸屏幕的不同布局,但我最终采用删除约束并以编程方式调整布局,仅适用于3.5英寸屏幕.


Ant*_*sov 4

iPhone 3.5 英寸有以下尺寸等级:

  • 紧凑型 w 常规 h - 纵向
  • 紧凑型 w 紧凑型 h - 横向(iPhone 3.5 英寸独有)

因此,这是您可以用来操作 iPhone 3.5 英寸的唯一尺寸类别。

根据“@Guillaume Algis”提供的链接,某些尺寸类别似乎可以与 iOS 7 兼容。Xcode 6 自适应 UI 如何向后兼容 iOS 7 和 iOS 6?

然而,没有关于它们在 iOS 6 中的支持的信息,即使在 iOS 7 中也仍然存在问题。

如果您确实需要支持 iOS 6 和 7,并且您可以使用 AutoLayout + 针对不同设备习惯用法的多个 Storyboard/xibs 方法,那么您可以简单地使用文件检查器通过取消选中“使用大小类”来禁用故事板/xibs 的大小类“复选框。