2015-03-30 2 views
3

У меня проблема, что у меня есть два разных дизайна пользовательского интерфейса для iPad и ориентации на альбом. Но в классах с размерами Regular | Regular, предназначенном для портретов ipad и ландшафта.Можно ли создавать различные макеты для iPad и пейзажного режима с использованием классов размера?

  1. Возможно ли разработать два разных макета для устройств ipad?
  2. Как мы можем разработать два разных макета для устройств ipad.
+0

У вас есть решение? Та же проблема здесь. –

ответ

0

Первый дизайн вы UI в wAny hAny size class.

Теперь внесите необходимые изменения в макеты в классе wRegular | hAny для iPad и wAny | класс класса hp для iPad.

Если это не сработало, нам нужно сделать различные макеты с кодом следующим образом.

if traitCollection.verticalSizeClass == .Regular && traitCollection.horizontalSizeClass == .Regular { 

    var orientation:UIInterfaceOrientation = UIApplication.sharedApplication().statusBarOrientation; 
    if orientation == UIInterfaceOrientation.LandscapeLeft || orientation == UIInterfaceOrientation.LandscapeRight { 
      // orientation is landscape 


    } else { 
      // orientation is portrait 

    } 
} 

Надеюсь, это поможет. :)

+0

Не могли бы вы объяснить ваш ответ больше. По логике, как iPad, так и пейзаж будут падать под wRegular | hAny и wAny | hRegular. Я ошибаюсь? –

+0

О вашем втором варианте. Как вы получаете свойство traitCollection. В каком методе и как? –

1

Нельзя различать ориентации iPad, используя только классы размера. Подход, который я использовал, состоит в том, чтобы создать 2 разных макета в раскадровке и переключиться между двумя программно на вращение устройства. Это не идеальное решение, но оно может быть самым близким.