Решение # 1)
Вы можете использовать "UI_USER_INTERFACE_IDIOM
" условное, чтобы помочь вам.
Основываясь на code in this answer, все вам нужно сделать, это установить UIImage к розетке, а затем сделать что-то вроде:
- (BOOL) isPad{
#ifdef UI_USER_INTERFACE_IDIOM
return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
#else
return NO;
#endif
}
if([self isPad])
{
//do code for iPad
[self.backgroundImageView.image = [UIImage imageNamed:@"bigBackgroundImage"];
}
else
{
//do code for iphone
[self.backgroundImageView.image = [UIImage imageNamed:@"smallerBackgroundImage"];
}
Solution # 2)
Вы можете действительно все еще используют отдельные раскадровки для iPad и iPhone.
Для этого вам необходимо отредактировать файл info.plist вашего приложения, чтобы показать два разных файла раскадровки для iPad и iPhone. В Xcode 6.1, это выглядит следующим образом:
или, если вы редактируете файл Info.plist напрямую, вы бы вынуть оригинальный ключ UIMainStoryboardFile` и значение и вставить эти два вместо этого (переименовать файлы, которые вы хотите, чтобы они были ...)
<key>UIMainStoryboardFile~ipad</key>
<string>nameOfiPadStoryboard</string>
<key>UIMainStoryboardFile~iphone</key>
<string>nameOfiPhoneStoryboard</string>
Спасибо за ваше предложение. Но я думаю, что я пропущу, увидев представление двух фонов на каждом устройстве storyBoard. Можно ли еще реализовать 2 раскадровки с помощью Xcode6 ?? – pete
plus - если бы я использовал «UI_USER_INTERFACE_IDIOM», мне нужно было бы настроить разные размеры кадров для каждого устройства? – pete
Да, до сих пор можно реализовать две раскадровки с Xcode 6. И я добавил скриншоты и инструкции, объясняющие, как это сделать. –