Вы должны использовать следующий код для обнаружения ios6 и iphone 5 и после проведения различия выполнить необходимые изменения по мере необходимости.
соответствовать версии, указанной в системе определяет
//#define __IPHONE_2_0 20000
//#define __IPHONE_2_1 20100
//#define __IPHONE_2_2 20200
//#define __IPHONE_3_0 30000
//#define __IPHONE_3_1 30100
//#define __IPHONE_3_2 30200
//#define __IPHONE_4_0 40000
// # определить __IPHONE_6_0 60000 Вы можете написать функцию, как это (вероятно, вы должны хранить эту версию где-нибудь, а не вычислять его каждый раз):
+ (NSInteger) getSystemVersionAsAnInteger{
int index = 0;
NSInteger version = 0;
NSArray* digits = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
NSEnumerator* enumer = [digits objectEnumerator];
NSString* number;
while (number = [enumer nextObject]) {
if (index>2) {
break;
}
NSInteger multipler = powf(100, 2-index);
version += [number intValue]*multipler;
index++;
}
return version;
}
Затем вы можете использовать это следующим образом:
if([Toolbox getSystemVersionAsAnInteger] >= __IPHONE_6_0)
{
//blocks
} else
{
//oldstyle
}
После определения версии ОС используйте следующие шаги для перехода.
- Установите 4-дюймовое изображение запуска для вашего приложения. Так вы получите высоту экрана 1136px (без нее вы получите 960px с черными полями сверху и снизу).
- Проверьте свое приложение и, надеюсь, ничего не сделайте, поскольку все должно работать магически, если вы правильно настроили маски для изменения размера.
- Если вы этого не сделали, отрегулируйте макеты просмотра с помощью подходящих масок для автоматического изменения размера или просмотрите автоматическую компоновку, если вы хотите поддерживать только iOS 6.
- Если у вас есть что-то, что вам нужно сделать для экрана большего размера, то похоже, что вам нужно проверить высоту границ [[UIScreen mainScreen]] (или applicationFrame, но тогда вам нужно рассмотреть высоту строки состояния, если это настоящее), поскольку для этого, похоже, нет никакого конкретного api.
Пример:
CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
// code for 4-inch screen
}else{
// code for 3.5-inch screen
}
Благодаря.