大小类别 (Size Class)是iOS 8新释出的类别,主要目的是想要解决设备歧异的问题,透过实作Size Class,我们可以减少许多客制设备类别 (iPhone、iPad)与萤幕大小 (iPhone:3.5吋、4吋、4.7吋、5.5吋,iPad:7.9吋、9.7吋)的程式码!还有之所以推出,是为了因应未来有更多不一样萤幕大小的产品(如Apple Watch),所以若能采用Size Class便可减轻开发负担!

其分为普通(Regular)和紧密 (Compact)两个种类(class)。开发者便可以无视实际的尺寸,而是对这两类和它们的组合进行适应。这样不论在设计时还是程式码上,我们都可以不再受限于实际的尺寸,而是变成遵循尺寸的视觉感官来进行适应。

在Xcode里的IB中下方,我们将鼠标移过去可发现有九宫格,是Compact、Any与Regular三者的组合。

以现在的装置种类与萤幕方向来看,大致上呈现如下图,在此借用旅居日本的大陆开发者所画的图。

Apple文件中也有详细介绍装置与方向各对应Size Class的类别:

如此来看就相当清楚,之后在IB上就能针对目标装置与方向来做设计啰!

很好奇即将现身的Apple Watch是属于哪个Size Class呢?