2016-09-04 4 views
0

Через applicationDelegate У меня разные раскадровки для разных разрешений. Могу ли я сделать то же самое для экрана запуска?Разный экран запуска в iOS

+0

Вы создаете совершенно разные макеты (например, разные элементы) для разных разрешений? Или это скорее адаптация к резолюциям? Это то, что Apple называет «Adaptive Apps», описанным здесь: https://developer.apple.com/design/adaptivity/ – jboi

+0

@jboi. Вы можете добавлять разные элементы только для некоторых разрешений с адаптивной компоновкой. – tktsubota

+0

Я изменяю размеры для разных разрешений. Я хотел знать, есть ли способ вызвать другой launchScreen для разных разрешений @jboi –

ответ

0

Это не представляется возможным иметь несколько файлов больше, как обсуждалось here

Рекомендуемый подход заключается в создании универсального раскадровки. Вы можете увидеть, как идти о выполнении этого here

-1

Это решение исходит из блога How to load UIStoryboards depending on screen height in iOS:

- (UIStoryboard *)grabStoryboard { 

    // determine screen size 
    int screenHeight = [UIScreen mainScreen].bounds.size.height; 
    UIStoryboard *storyboard; 

    switch (screenHeight) { 

      // iPhone 4s 
     case 480: 
      storyboard = [UIStoryboard storyboardWithName:@"Main-4s" bundle:nil]; 
      break; 

      // iPhone 5s 
      case 568: 
      storyboard = [UIStoryboard storyboardWithName:@"Main-5s" bundle:nil]; 
      break; 

      // iPhone 6 
      case 667: 
      storyboard = [UIStoryboard storyboardWithName:@"Main-6" bundle:nil]; 
      break; 

      // iPhone 6 Plus 
      case 736: 
      storyboard = [UIStoryboard storyboardWithName:@"Main-6-Plus" bundle:nil]; 
      break; 

     default: 
      // it's an iPad 
      storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
      break; 
    } 

    return storyboard; 
} 
+0

Если вы хотите изменить свой вопрос, измените _question_. Не злоупотребляйте ответом. Вы можете ответить, если у вас есть _answer_ на свой вопрос. – matt

+0

Это не быстрый код. Или отправьте ответ в Swift или замените тег вопроса на «цель-c», пожалуйста. – Moritz

0

Могу ли я сделать то же самое для стартового экрана?

Вы должны использовать запуск раскадровки. И вы должны проектировать его таким образом, чтобы он работал независимо от того, что. Как правило, раскадровка для запуска будет очень простой и простой - не заставка, а не рендеринг всего вашего интерфейса, а просто голый эскиз, например, только фон или даже один цвет, напоминающий ваш фон.

Смежные вопросы