Xcode 6大小类

康拉德·巴杰廷吉尔

我想问一个关于(至少对我来说)令人困惑的话题-Xcode 6中的Size Classs。我一直在试图完全理解所有这些工作原理,但是我仍然不清楚。

在Xcode 6和新iPhone之前,一切都非常简单。To(非视网膜和视网膜)显示使我们能够始终以相同的分辨率320x480(对于更高的设备为568)工作。标准和@ 2x资产非常合理。但是,现在,我们的大屏幕的屏幕具有相同的比例(几乎相同),但是工作区域不再​​相同。

大小类应该使所有内容适合一个故事板。但是,等等。iPhone 6使用@ 2x资产,据我了解,这意味着该设备上的图形看起来比iPhone 5 / 5S小。iPhone 6 Plus使用@ 3x资产,看起来也不一样。好像无法使某个按钮相对于屏幕的整个宽度始终具有相同的大小。当然,除非我们对此进行编码,但这会使Size类变得无用。

我是正确理解事物还是错过了某些事物?很高兴听到大家的看法。也许您知道一些不错的教程?我还没有发现任何可以解释我怀疑的东西。

提前致谢!

氨血症

您可以使用多种方法的组合来完成您在此处所说的大部分事情:

  1. 不同类型设备的大小类,以涵盖UI配置中的大部分大规模更改(例如,iPad和iPhone之间的差异)。例如,您可以使用它来更改是否显示侧边栏。

  2. 特定于单个尺寸类别的自动布局规则。您可以为不同的尺寸类别添加不同的自动布局规则,以调整布局(例如,您可以通过这种方式在水平按钮行和堆叠的按钮列之间进行切换,因为您现在可以为不同尺寸类别使用不同的自动布局规则)。一旦意识到不再需要对所有尺寸类别使用相同的自动布局规则,此技术将非常强大。

  3. 资产目录可自动为不同的支持分辨率等切换出预渲染的图形。还请注意,由于许多较旧的设备实际上并不支持iOS 8,因此您不再需要包含真正的低分辨率版本,除非您需要广泛的向后兼容性(如果这样做,则并非所有size类功能都可用)无论如何)。我刚刚制作了仅支持iOS 8的新版本应用程序,因为使用旧版本的用户将只能获得该应用程序的先前版本。

  4. 可调整大小的图像:现在,您可以在图像中指定可调整大小的区域,以控制将它们应用于UIButton等物体时如何拉伸它们,这些东西可能会根据自动版式规则更改大小。(这是Android已有一段时间的功能,因此在iOS上很受欢迎。)这意味着您可以在各种屏幕尺寸上使外观看起来不错,而无需拥有太多单独的图像或对尺寸进行精确控制UI元素。

  5. 视图控制器中的程序代码可以调整您无法通过其他任何方式实现的任何功能。

的确,您并没有对哪些设备显示具有尺寸级别的确切布局的精细控制,但我发现这并不是您想像的那么大的问题,因为尺寸级别允许您的视图控制器非常无缝地适应不同的设备。自动布局和大小类的组合特别强大。实际上,这可能是一件好事,因为每当Apple推出不同尺寸的屏幕时,这意味着较少的新手动配置。现在进行转换有点痛苦,但从长远来看可能值得。您只需要考虑如何以不同的方式设置事物。它有点像Android,他们长期以来一直在竞争许多不同的设备屏幕尺寸和分辨率,但是

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章