Подтвердить что ты не робот

Почему компактная ширина и компактная высота в iPhone 4,5,6 в альбомной ориентации

Я новичок в разработке iOS и просто изучаю адаптивность и макет. Я застрял с небольшой путаницей,

В соответствии с Documentation

iOS определяет два класса размера:

  • Обычный: - Он связан с экспансивным пространством
  • Компактный: - Он связан с ограниченным пространством

Другими ссылками:

  • Все iPhones (вверху слева) в портретной ориентации имеют обычную высоту и компактную ширину Iphone in portrait

  • Iphone 4, 5 и 6 в альбомной ориентации имеют компактную высоту и компактную ширину. iphones в альбомной ориентации

  • Но в случае iPhone 6 Plus он имеет компактную высоту и регулярную ширину в альбомной ориентации.

    Iphone 6 plush in landscape

Моя путаница:

  • iPhone 4,5,6 имеют обычную высоту и компактную ширину в портретном режиме, но почему у них нет постоянной ширины и компактной высоты в альбомной ориентации, поскольку она была отменена?
  • Если да, то почему iPhone 6 plus отличается от них? Это потому, что экран на 0,8 дюйма больше, чем iPhone 6? Имеет ли это значение?

Спасибо заранее!, Добро пожаловать в редакцию!

Я знаю, что это пока не повлияет на развитие в техническом отношении. Но я просто хочу, чтобы мой ум был очищен от этих вещей.

4b9b3361

Ответ 1

Если да, то почему iPhone 6 plus отличается от них? Это потому, что экран на 0,8 дюйма больше, чем iPhone 6? Имеет ли это значение?

Это важно, если вы используете контроллер с разделенным изображением. Когда на iPhone 5 и 6 он имеет тот же обрушенный аспект, он будет разделяться и отображать главные и подробные контроллеры представлений рядом в альбомной ориентации на iPhone 6 +.

Пример класса размера

Он выглядит еще более бесполезным на iPad, так как он имеет обычный размер по высоте и ширине на обоих изображениях и.

Дело в том, что когда у вас есть обычный размерный класс, вы должны размещать и показывать больше контента, чем на компактном классе.

Однако классы размера не связаны с экраном, а с контроллером представления.

Когда у вас есть iPad с мастером и контроллером подробного представления, контроллер главного представления имеет компактную ширину/обычную высоту, а контроллер подробного представления имеет обычную ширину/правильную высоту.

Вы все равно можете изменить классы размера контроллера дочернего представления, переопределив их с помощью

-(void)setOverrideTraitCollection:(UITraitCollection *)collection forChildViewController:(UIViewController *)childViewController

и

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

Это ключевая концепция для iPad, так как теперь вы можете использовать iOS9 в своем компактном исполнении с новой функцией многозадачности (слайд справа от экрана).