为什么iPhone 4,5,6在横向方向上的紧凑宽度和紧凑高度

时间:2016-01-25 06:04:20

标签: ios iphone size-classes adaptive-user-interfaces

我是iOS开发的新手,只是研究适应性和布局我有点困惑,

根据Documentation

iOS定义了两个大小类:

  1. 常规: - 它与广阔的空间相关
  2. 紧凑: - 它与受限空间相关联
  3. 通过其他参考:

    1. 纵向的所有iPhone(左上角)都有一个规则的高度和一个紧凑的宽度 Iphone in portrait

    2. 横向方向的Iphone 4,5和6具有紧凑的高度和紧凑的宽度。 iphones in landscape orientation

    3. 但是对于iPhone 6 Plus,它具有紧凑的高度和横向的常规宽度。

      Iphone 6 plush in landscape

    4. 我的困惑是:

      • iPhone 4,5,6在纵向模式下具有规则的高度和紧凑的宽度但是为什么它们在横向方向上没有规则的宽度和紧凑的高度?
      • 如果是这样,为什么iPhone 6 plus与它们不同?是因为它的屏幕是0.8"比iPhone 6更大?这有关系吗?

      提前致谢!热烈欢迎编辑们加入!

      我知道它在技术上到目前为止不会对开发产生影响但我只是想让我清楚这些事情。

1 个答案:

答案 0 :(得分:2)

  

如果是这样,为什么iPhone 6 plus与它们不同?是因为它的屏幕是0.8"比iPhone 6更大?这有关系吗?

使用拆分视图控制器时很重要。当它在iPhone 5和6上具有相同的折叠方面时,它将在iPhone 6 +上以横向方向分割并显示主视图和细节视图控制器。

Size class illustration

它在iPad上看起来更无用,因为它在纵向横向上都有常规的高度和宽度尺寸等级。

关键是,当您拥有常规大小类时,您应该布局并显示比 compact 大小类更多的内容。

但是,尺寸等级与屏幕无关,而与视图控制器无关。

当您的iPad配有主控制器和细节视图控制器时,主视图控制器具有紧凑的宽度/常规高度,并且细节视图控制器具有规则的宽度/常规高度。

您仍然可以通过使用

覆盖子视图控制器的大小类来更改它们
-(void)setOverrideTraitCollection:(UITraitCollection *)collection forChildViewController:(UIViewController *)childViewController

-(UITraitCollection *)overrideTraitCollectionForChildViewController:(UIViewController *)childViewController.

它是iPad的一个关键概念,因为您现在可以在iOS9上使用新的多任务功能 compact 宽度运行您的应用程序(从屏幕右侧滑动) )